assign - 割り当てを行う
使い方
assign(a, B)
assign(A = B)
assign(t)
パラメータ
a - 名前または関数
A - 名前または関数、あるいはそれらの式列
B - 式または式の列
t - 等式のリストまたは集合
|
説明
|
|
•
|
関数 assign(a, B) と assign(a = B) は割り当て a := B; を行い、NULL を返します。
|
•
|
A と B は同じ個数のオブジェクトを持つ式の列として、関数 assign(A, B) は B の対応するオブジェクトを A のオブジェクトに割り当て、NULL を返します。
|
•
|
引数は評価されるので、a が既に名前 x に割り当てられていると、関数 assign(a = 3) は x に値 3 を割り当てます。
|
•
|
引数が等式のリストまたは集合のとき、assign はリストまたは集合のそれぞれの等式に適用されます。
|
•
|
この関数の1つの使い方は、変数に解の値を割り当てたいとき solve 関数により返された等式の集合に適用することです。
|
•
|
kernelopts(assertlevel=2) と設定すると、型のassertionがチェックされます。このような型のassertionとともに、ローカル変数に割り当てが行われる場合は必ず、(割り当てが行われる前に) 評価された後、右辺 (右側) の型がチェックされます。右辺 (右側) の型が一致しない場合、assertion が誤りであることを示す exception が発生します。
|
|
|
例
|
|
>
|
assign(a, c);
assign(a = d, b = 2);
a, b, c;
|
| (2.1) |
>
|
assign(('a', 'b') = (3, 4)); # a and b have already been assigned
a, b, c;
|
| (2.2) |
>
|
assign( T[1], x, y, z );
T[1];
|
| (2.3) |
>
|
s := solve( {x+y=1, 2*x+y=3}, {x, y} );
|
| (2.4) |
| (2.5) |
型をもつ割り当ての例
>
|
kernelopts(assertlevel=2):
F := proc(x) local a::integer; assign(a, x); end:
F(3.4);
assign(K::float,"hello");
|
Error, (in assign) assertion failed in assignment, expected
float, got hello
| |
|
|
Download Help Document
Was this information helpful?