我被告知这个函数声明是非法的:
f3 1 (f2 x) 是
我确实理解为什么这是非法的,我认为它与第二个参数(f2 x)有关。谁能给我解释一下?
我被告知这个函数声明是非法的:
f3 1 (f2 x) 是
我确实理解为什么这是非法的,我认为它与第二个参数(f2 x)有关。谁能给我解释一下?
在函数定义中,函数的参数必须是模式,即它们必须是
_,它匹配所有内容并且不绑定任何内容,var,它匹配所有内容并将相应的参数绑定到参数,[elem1, elem2, elem3, elem4],Con{ field1 = value1, field2 = value2 },(pattern),(pattern1, pattern2, pattern3),var@pattern整个参数和组件绑定到if 匹配var的相应部分,或pattern~pattern,它绑定了参数resp。它的零件patternresp。它的部分,如果参数实际上不匹配,则会导致运行时错误pattern。(f2 x)片段中的部分
f3 1 (f2 x) y
不是模式,而是表达式,函数 ( f2) 应用于值 ( x),因此函数定义不能具有形式
f3 1 (f2 x) y = whatever
最接近的法律功能定义是
f3 1 (F2 x) y = ...
带有(一元)值构造函数 F2。