op - 式から被作用子を抽出する
nops - 式の被作用子の個数
使い方
op(i, e)
op(i..j, e)
op(e)
op(list, e)
nops(e)
パラメータ
i, j - 被作用子の位置を指定する整数
e - 式
list - 被作用子の位置を示す整数のリスト、式の入れ子のレベルで順に指定
|
説明
|
|
•
|
op 関数は式から被作用子を抽出します。nops 関数は式の被作用子の個数を返します。
|
•
|
op 関数の最初の引数が正の整数 i のとき、e の i 番目の被作用子が返されます。被作用子が存在しないときは、エラーが起こります。
|
•
|
op の最初の引数が負の整数 i のとき、結果は op(nops(e)+i+1, e) です。
|
•
|
あるデータ構造に対して、op(0, e) は特別な場合として定義されます(さらなる情報は、特殊データ構造のヘルプページを参照してください)。関数に対して、op(0, e) は関数の名前です。添え字付きの名前に対して、op(0, e) は添え字無しの名前です。級数に対して op(0, e) は級数を展開する点です。他のすべてのデータ構造に対して op(0, e) は e の型を返します。
|
•
|
被作用子を選択する値の範囲が -nops(e)-1..nops(e) にないときはエラーが起こります。
|
•
|
op の第1の引数が範囲 i..j ならば、結果は e の i 番目から j 番目までの被作用子の式列になります。範囲に負の整数があるときは上で説明したように扱われ nops(e)+1 が付加えられます。
|
•
|
op 関数がただ1つしか引数を持たないときは、op(1..nops(e), e) と等価です。
|
•
|
op の第1の引数が list ならば、 list の要素は e の部分被作用子を入れ子の深さが増える順に参照します。これは簡略表記にすぎません。式 op([a1, a2, ..., an], e) は op(an, op(..., op(a2, op(a1, e))...)) と同じ結果を返しますが、より能率的に実行することができます。
|
•
|
最初の引数が list のとき、list の最後の要素は範囲でも構いません。上で述べたように、これは簡略表記にすぎません。式 op([a1, a2, ..., an1..an2], e) は op(an1..an2, op(..., op(a2, op(a1, e))...)) と同じ結果を返しますが、より能率的に実行することができます。
|
|
|
例
|
|
| (2.1) |
| (2.2) |
| (2.3) |
| (2.4) |
| (2.5) |
| (2.6) |
| (2.7) |
| (2.8) |
| (2.9) |
| (2.10) |
| (2.11) |
| (2.12) |
存在しない被作用子を参照しようとすると、エラーが返されます。
Error, improper op or subscript selector
| |
| (2.13) |
| (2.14) |
| (2.15) |
| (2.16) |
| (2.17) |
| (2.18) |
>
|
w := f(g(a,b),h(c,d,e,j,k,l));
|
| (2.19) |
| (2.20) |
| (2.21) |
| (2.22) |
| (2.23) |
>
|
s := series(sin(x),x=2,6);
|
| (2.24) |
| (2.25) |
| (2.26) |
|
|