Maple Professionel
Maple Académique
Maple Edition Étudiant
Maple Personal Edition
Maple Player
Maple Player for iPad
MapleSim Professionel
MapleSim Académique
Maple T.A. - Suite d'examens de classement
Maple T.A. MAA Placement Test Suite
Möbius - Didacticiels de mathématiques en ligne
Machine Design / Industrial Automation
Aéronautique
Ingénierie des véhicules
Robotics
Energie
System Simulation and Analysis
Model development for HIL
Modélisation du procédé pour la conception de systèmes de contrôle
Robotics/Motion Control/Mechatronics
Other Application Areas
Enseignement des mathématiques
Enseignement de l’ingénierie
Enseignement secondaire et supérieur (CPGE, BTS)
Tests et évaluations
Etudiants
Modélisation financière
Recherche opérationnelle
Calcul haute performance
Physique
Webinaires en direct
Webinaires enregistrés
Agenda des évènements
Forum MaplePrimes
Blog Maplesoft
Membres Maplesoft
Maple Ambassador Program
MapleCloud
Livres blancs techniques
Bulletin électronique
Livres Maple
Math Matters
Portail des applications
Galerie de modèles MapleSim
Cas d'Etudes Utilisateur
Exploring Engineering Fundamentals
Concepts d’enseignement avec Maple
Centre d’accueil utilisateur Maplesoft
Centre de ressources pour enseignants
Centre d’assistance aux étudiants
パッケージ - モジュールを使ってパッケージを作る
説明
モジュールを使った簡単な応用例には、パッケージの作成があります。「パッケージ」とは、ある方法で集めたルーチン群(データを伴うこともある)のことです。パッケージは、通常、ある適切に定義された領域における問題を解決するための、一連の機能を提供しています。パッケージの適用範囲が非常に広いこともあれば、とても狭いこともあります。何が適切かどうかということは、パッケージの製作者に依存しています。
Maple ライブラリの多くの機能は、ユーザに対してパッケージの形で提供されています。例えば、Maple には、群論(group)、幾何学(geometry、geom3d)、数論 (numtheory)、線型代数(LinearAlgebra) などのパッケージが用意されています。新しいパッケージはモジュールとして書かれていますが、ほとんどのパッケージは昔からの表をもとにして実装したものです。
モジュールを使ってパッケージを作るには、モジュールのエクスポート変数としてユーザに利用して欲しいルーチンの名前を列挙するだけです。モジュールの定義中に(公開用の)ルーチンをエクスポート変数として宣言し、その定義を書き、完成したモジュールに名前を割り当てれば良いのです。
パッケージとして利用するモジュールには、オプションに package オプションを宣言する必要があります。パッケージの出力は自動的に保護され、with コマンドを使用して会話形式のセッションを持続することができます。
作成したルーチンで使われている重要な内部データが、ユーザにより不用意に変更されるのを防ぐため、そのようなデータをそのパッケージ内のみで使用可にするのが良い。これは、パッケージ用に作成しているモジュールで、局所変数(エクスポート変数ではない)を使うことにより実現できます。
作成したパッケージ(または他の任意のモジュール)を保存するには、倉庫を含んでいるディレクトリが大域変数 libname の中で最初に表記してあることを確認するか、大域変数 savelibname に自作の倉庫を含むディレクトリの名前を(文字列として)割り当てるかします。その上で、作成したパッケージの名前だけを引数として savelib という手続きを使います。これで、作成したパッケージのコピーが倉庫の中に保存されます。大域変数 libname の中に有るのと同じディレクトリ名が含まれていれば、どの Maple セッションからでも、名前だけでそのパッケージをアクセスすることができるでしょう。
Maple 倉庫に関する詳細については、repository と march を参照して下さい。
例
この例では、大域変数 `libname' の中に列挙されている書き込み可能な倉庫が存在していることを前提としています。
MyPackage := module() export f1, f2; local loc1; option package; f1 := proc() loc1 end proc; f2 := proc( v ) loc1 := v end proc; loc1 := 2; end module: savelib( 'MyPackage' ): restart: with( MyPackage );
参照
module, procedure, repository, march
Download Help Document