Mathematica 9 is now available
THIS IS DOCUMENTATION FOR AN OBSOLETE PRODUCT.
SEE THE DOCUMENTATION CENTER FOR THE LATEST INFORMATION.
Mathematica > コアとなる言語 > 変数と関数の定義 > 属性 > Flat >

Flat

Flat
シンボルの属性で,このシンボル f がネストしている場合に自動的にフラットにする(ネストをほどく)ことを指定する.この属性はパターンマッチの際に考慮される.
  • Flatは数学的な特性である結合律に対応する.
  • 属性Flatを与えられているシンボル f では,が自動的に へと還元される.
  • Flatである関数 f では,パターン における変数 xy は,引数の任意の列に対応することができる.
  • 属性Flatは,Flat関数に値を割り当てる前に,設定されなければならない.
  • Flatな関数がパターンマッチングに用いられる場合は,属性OneIdentityも必要であることが多い.
平坦な関数を持つネストした式は平坦化される:
Flatは結合律の概念を実装する:
平坦な関数を持つネストした式は平坦化される:
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は要素列の置換を許容する:
平坦で順序を問わない関数の場合,引数の部分集合が一致することがある:
平坦な関数を持つネストした式は自動的に平坦化される:
平坦な関数の場合,2引数の場合の定義で通常は十分である:
平坦な関数のパターンマッチにはOneIdentity属性も必要である:
平坦で順序を問わない関数の場合,パターンマッチにはたくさんの場合を試さなければならないことがある:
Longestを使うと,短い部分式についての追加的なマッチを防ぐことができる:
バージョン 1 の新機能
Ask a question about this page  |  Suggest an improvement  |  Leave a message for the team
フォーマット:   HTML  |  CDF