Flat

Flat
シンボルの属性で,このシンボル f がネストしている場合に自動的にフラットにする(ネストをほどく)ことを指定する.この属性はパターンマッチの際に考慮される.

詳細詳細

  • Flatは数学的な特性である結合律に対応する.
  • 属性Flatを与えられているシンボル f では,が自動的に へと還元される.
  • PlusTimesそしてDotのような関数はFlatである.
  • Flatである関数 f では,パターン における変数 xy は,引数の任意の列に対応することができる.
  • 属性Flatは,Flat関数に値を割り当てる前に,設定されなければならない.
  • Flatな関数がパターンマッチングに用いられる場合は,属性OneIdentityも必要であることが多い.

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

  (2)  (2)

平坦な関数を持つネストした式は平坦化される:

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

Flatは結合律の概念を実装する:

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