userinfo - ユーザに有益な情報を印字する
使い方
userinfo(lev, fn, e1, e2 ... )
パラメータ
lev - 非負整数
fn - 手続き名または手続き名の集合
e1 - 任意の式
e2 - 任意の式 (オプション)
|
説明
|
|
•
|
手続き userinfo は Maple 手続きの中でユーザに有益な情報を印字するために使われます。
|
•
|
第1引数の lev は非負整数で、どのレベルで情報を印字するかを設定する infolevel の値を決めます。
|
•
|
第2引数の fn は手続き名または手続き名の集合で、それに対する情報が印字されることになります。その userinfo 文を含む手続きが実行される前に、infolevel[fn] := Lev; または infolevel[all] := Lev; という大域的な割り当てが行われており、Lev >= lev であるとき、その情報が印字されるようになります。
|
•
|
実際の情報を含んでいる手続きの名前とは異なる名前を指定して、それに関連する情報として印字することもできます。これは共同して機能するルーチン群を作成するときに便利です。ルーチンの集合に対して同時に infolevel を設定することもできます。
|
•
|
第3引数が記号 `NoName` ならば、この引数は捨てられて、何の関数名も印字されません。そうでなければ、呼び出された手続きの名前が lprint を使って印字されて、その後にコロンと空白が3個続きます。さらに、第 3 (または第 4) やそれ以降のオプションの引数が評価されて、lprint で一緒に空白 3 個で区切られて印字されます。その引数の 1 つが print(...) の形をしていれば、その引数が prettyprint で印字されます。引数の 1 つが lprint(...) の形をしていれば、その引数は行を改めて印字されます。
|
•
|
ユーザは、その手続きを呼び出す前に大域テーブル infolevel の要素のいくつかに非負整数を割り当てておく必要があります。infolevel[all] という要素が非負整数のときは、どのように userinfo を呼び出しても、そのレベルが infolevel[all] 以下ならば、情報が印字されます。
|
•
|
Maple ライブラリ全体に渡って、次の慣例に従って userinfo 文が使われています:
|
|
Level 1: ユーザに必ず知らせる必要のある情報のために予約されています。
|
|
Level 2,3: 一般的な情報で、使われている技法やアルゴリズムを含みます。
|
|
Level 4,5: どのように問題が解決されているかに関するより詳細の情報
|
•
|
infolevel[hints] という要素は初期化されて 1 になります。Maple はときどき未評価の答えを返すことがあります。それは具体的な答えを与えるのに必要な情報が十分に得られない場合です (たとえば、答えがすべての複素数に対して正しいとは言えないような場合です)。この機能は、さらに assume() を介して情報が得られれば Maple が具体的な答えを返せるというようなヒントを提示することを意図したものです。
|
|
|
例
|
|
>
|
a1 := proc(x,y) userinfo(3,a1,`entered with`,x,y); x+y end proc:
infolevel[a1] := 3:
a1(3,4);
|
a1: entered with 3 4
| (2.1) |
別の名前を使って、infolevel を設定します。
>
|
a2 := proc(x,y) userinfo(3,myname,`entered with`,x,y); x-y end proc:
infolevel[myname] := 3:
a2(5,2);
|
a2: entered with 5 2
| (2.2) |
|
|
Download Help Document
Was this information helpful?