Flat

Flat
是一个属性,它可以赋给一个符号 f ,指定涉及嵌套函数 f 的所有表达式应当被压平. 这个属性包括在模式匹配中.

更多信息更多信息

  • Flat 对应于数学上的结合律.
  • 对一个有属性 Flat 的符号 ff[f[a,b],f[c]]自动化简为 f[a,b,c].
  • 诸如 PlusTimesDot 的函数是 Flat.
  • 对一个 Flat 函数 f,在模式 f[x_,y_] 中变量 xy 对应于任何参数序列.
  • Flat 属性必须在对 Flat 函数定义任何值前被分配.
  • Flat 函数用于匹配模式中时,它们经常也需要属性 OneIdentity.

范例范例打开所有单元关闭所有单元

基本范例  (3)基本范例  (3)

平坦函数的嵌套表达式被压平:

In[13]:=
Click for copyable input
In[3]:=
Click for copyable input
Out[3]=

Flat 应用了结合律的概念:

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

Flat allows the pattern matcher to use associativity:

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