Maple Professional
Maple Academic
Maple Student Edition
Maple Personal Edition
Maple Player
Maple Player for iPad
MapleSim Professional
MapleSim Academic
Maple T.A. - Testing & Assessment
Maple T.A. MAA Placement Test Suite
Möbius - Online Courseware
Machine Design / Industrial Automation
Aerospace
Vehicle Engineering
Robotics
Power Industries
System Simulation and Analysis
Model development for HIL
Plant Modeling for Control Design
Robotics/Motion Control/Mechatronics
Other Application Areas
Mathematics Education
Engineering Education
High Schools & Two-Year Colleges
Testing & Assessment
Students
Financial Modeling
Operations Research
High Performance Computing
Physics
Live Webinars
Recorded Webinars
Upcoming Events
MaplePrimes
Maplesoft Blog
Maplesoft Membership
Maple Ambassador Program
MapleCloud
Technical Whitepapers
E-Mail Newsletters
Maple Books
Math Matters
Application Center
MapleSim Model Gallery
User Case Studies
Exploring Engineering Fundamentals
Teaching Concepts with Maple
Maplesoft Welcome Center
Teacher Resource Center
Student Help Center
パッケージ - モジュールを使ってパッケージを作る
説明
モジュールを使った簡単な応用例には、パッケージの作成があります。「パッケージ」とは、ある方法で集めたルーチン群(データを伴うこともある)のことです。パッケージは、通常、ある適切に定義された領域における問題を解決するための、一連の機能を提供しています。パッケージの適用範囲が非常に広いこともあれば、とても狭いこともあります。何が適切かどうかということは、パッケージの製作者に依存しています。
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