2017-04-20 75 views

回答

2

我想三元条件运算符(来自Basic Maude)应该是一个很好的例子:“函数名中下划线的存在意味着我们使用的是mixfix,其思想是函数的每个参数都将替换。下划线。例如,考虑

op if_then_else_fi : Bool Nat Nat -> Nat . 

然后我们可以应用此操作是这样的:

if B then X else Y fi 

其中B是一个布尔值,和X和Y是纳茨”

运营商元数没有限制在manual(读pp.33-35拥抱运营商申报的全功率)提到,所以

op _ _operation_ _ _: Nat Nat Nat Nat Nat -> Bool . // for 5 operands 

应该没问题了。我想在某些时候你应该达到特定的实现,平台或内存限制。

+0

如果您这样做,会出现以下错误:“下划线(2)的数量与运算符_operation_的参数个数(5)不匹配。” –

+0

显然“如果下划线应该与arity相匹配”。再加几个下划线,或者完全删除 – Serge

+0

工作正常,欢呼队友。 –

相关问题