Maple für Professional
Maple für Akademiker
Maple für Studenten
Maple Personal Edition
Maple Player
Maple Player für iPad
MapleSim für Professional
MapleSim für Akademiker
Maple T.A. - Testen & beurteilen
Maple T.A. MAA Placement Test Suite
Möbius - Online-Courseware
Machine Design / Industrial Automation
Luft- und Raumfahrt
Fahrzeugtechnik
Robotics
Energiebranche
System Simulation and Analysis
Model development for HIL
Anlagenmodelle für den Regelungsentwurf
Robotics/Motion Control/Mechatronics
Other Application Areas
Mathematikausbildung
Technik
Allgemein- und berufsbildende Schulen
Testen und beurteilen
Studierende
Finanzmodelle
Betriebsforschung
Hochleistungsrechnen
Physik
Live-Webinare
Aufgezeichnete Webinare
Geplante Veranstaltungen
MaplePrimes
Maplesoft-Blog
Maplesoft-Mitgliedschaft
Maple Ambassador Program
MapleCloud
Technische Whitepapers
E-Mail Newsletters
Maple-Bücher
Math Matters
Anwendungs-Center
MapleSim Modell-Galerie
Anwenderberichte
Exploring Engineering Fundamentals
Lehrkonzepte mit Maple
Maplesoft Welcome-Center
Resource-Center für Lehrer
Help-Center für Studierende
export - エクスポート変数宣言
使い方
export e1, e2, ...;
パラメータ
e1, e2, ... - エクスポート変数として用いる1個以上の変数名、型名
説明
モジュール定義における export 句は、そのモジュールが実装された後でありさえすればクライアントからアクセス可能な、1個以上の変数を「宣言」するために用います。変数名は、そのモジュール外部ではメンバー選択演算子 :- を使ってアクセスします。このような変数をそのモジュールの「エクスポート変数」と呼びます。式 e1, e2, ... のそれぞれは、記号、あるいは、sysymbol::type の形の式のいずれかである必要があります。 後者の場合、宣言は、エクスポートに割り当てられた値の型にも影響します。
モジュールのエクスポート変数に関して最も重要なことは、そのモジュールに対しては局所変数として機能するということです。エクスポート変数名の通用する範囲は、そのモジュールの局所変数のそれと完全に一致します。大きな違いは、そのモジュールが実装された後であっても、エクスポート変数を「見る」ことができるという点にあります。
モジュールのエクスポート変数の評価規則は、モジュールの局所変数のそれと同じであり、手続きの局所変数の評価規則とも同じです(詳細については eval を参照して下さい)。
モジュールのエクスポート変数の集合は固定されたものであり、そのモジュール定義が評価されるのと同時にセットされます。いったん実装されたモジュールのエクスポート変数の集合は変更不可能です。
エクスポート変数名は明示的に宣言する必要が有ります。暗黙の通用規則によって、変数名がエクスポート変数として解釈されることは無いのです。
モジュール m のエクスポート変数 s に、 m の中にあるモジュールを割り当てることができます(すなわち、s は m の部分モジュールなのです)。部分モジュール s のエクスポート変数は、m の部分モジュール s を m:-s により指定した後に、s の適当なエクスポート変数 e を m:-s:-e として選択することにより、アクセス可能になります。
例
いくつかのエクスポート変数を宣言します。
m:= module() export a, b, c; option package; end module;
演算子 :- を使って変数をアクセスします。
m:-a;
evalb( a = m:-a ); # not the same name
m:-a := 5;
a;
with( m );
エクスポート変数が可視的かどうかは、ある意味で「遷移的」です。
m := module() export s, p; s := module() export e; e := 2 end module; p := proc() s:-e end proc end module: m:-s:-e;
m:-p();
変数 s が m のエクスポート変数か、変数 e が s のエクスポート変数でないと、うまく動きません。
m := module() export p; local s; s := module() export e; e := 2 end module; p := proc() s:-e end proc end module: m:-s:-e;
Error, module does not export `s`
m:-p(); # still okay
ここでは、変数 e は m の本体の中でさえ利用することができません。
m := module() export p; local s; s := module() local e; e := 2 end module; p := proc() s:-e # error, not an export of s end proc end module: m:-s:-e;
Error, (in p) module does not export `e`
参照
local, module, module/package
Download Help Document