Orderless

Orderless
シンボル f に割り当てることができる属性で,f[e1,e2,]の形式の式の要素 ei は,自動的に標準的な順序に並べられることを指定する.この特性はパターンマッチに使用される.

詳細詳細

  • 関数の属性Orderlessは,数学的特性である交換則に対応する.
  • Orderlessを属性とする関数は,Sortの注釈で記述されている標準的な順序を使用する.
  • 行列やテンソルを表すオブジェクトについては,属性Orderlessは,指標間の対称性を表す.
  • PlusTimesのような関数はOrderlessである.
  • Orderless関数にパターンがマッチする際,すべての可能な引数が試行される.
  • 属性Orderlessは,Orderless関数に値を定義する前に割り当てておくことが必要である.

例題例題すべて開くすべて閉じる

  (3)  (3)

Plusは属性Orderlessを持つので,引数をソートする:

In[1]:=
Click for copyable input
Out[1]=
In[2]:=
Click for copyable input
Out[2]=

順序が関係ない関数はどれも,引数をソートする:

In[1]:=
Click for copyable input
In[2]:=
Click for copyable input
Out[2]=

パターンマッチではOrderless関数の引数を並べ直してマッチを求める:

In[1]:=
Click for copyable input
Out[1]=

Plus自信は特定の引数を並べ直すことはないので注意のこと:

In[2]:=
Click for copyable input
Out[2]=
In[3]:=
Click for copyable input
Out[3]=
1988年に導入
(1.0)
Translate this page: