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
local - モジュールの局所変数
使い方
local loc1, loc2, ...;
パラメータ
loc1, loc2, ... - 1 個以上の局所変数名、または型の指定された変数
説明
モジュール定義の先頭部分には、1個以上の局所変数の宣言を含んでいても構いません。これらの局所変数は手続きにおける局所変数と全く同じものです。それぞれの式 loci(i=1,2,...) は symbol であるか、 `::` を用いた式でなければなりません。第1オペランド(変数名)は、 symbol 型の変数です。 局所変数が `::` を用いて宣言された場合には、kernelopts( 'assertlevel' ) の値が 2 以上になっていない限り、 型がチェックされることになります。
局所変数として拘束されている変数は、それを宣言しているモジュール定義の本体中では見ることができるが、その外部からは見ることができません。 エクスポート変数のように( :- を使って)アクセスしようとしても、エラーになるだけです。
局所変数は、それを拘束しているモジュールの定義を実行するために、一意的に存在しています。モジュール定義が実行されるたびに、新しい局所変数の集合が生成されるのです(定義の実行は評価計算の一部なのです)。
モジュールの局所変数の評価規則は、手続きの局所変数の評価規則と同じです(詳細については eval を参照して下さい)。
モジュール内の局所変数をアクセスしたいならば、局所変数の値を調べたり修正したりするためのエクスポート変数を用意すると良いでしょう。 注意: 局所変数がモジュールから「解放」される様子は、手続きから局所変数が解放される場合と同じになります。
例
m := module() local loc1; export setter, getter; loc1 := 2; getter := proc() loc1 end proc; setter := proc( v ) loc1 := v end proc; end module: m:-getter();
m:-loc1; # no direct access to loc1
Error, module does not export `loc1`
m:-setter( 5 ); # loc1 can be accessed indirectly
m:-getter(); # and here
参照
module, module[export], procedure
Download Help Document