Flat

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

詳細詳細

  • Flatは数学的な特性である結合律に対応する.
  • 属性Flatを与えられているシンボル f では,f[f[a,b],f[c]]が自動的に f[a,b,c]へと還元される.
  • PlusTimesそしてDotのような関数はFlatである.
  • Flatである関数 f では,パターン f[x_,y_]における変数 xy は,引数の任意の列に対応することができる.
  • 属性Flatは,Flat関数に値を割り当てる前に,設定されなければならない.

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

  (3)  (3)

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

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]=

Flatはパターンマッチに結合性を使うことができる:

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