我正在做一个编码项目。在这个编码项目中,我正在构建一个计算器。我想使用自然日志(ln)。但是不断收到return authenticateUser
的错误。这是我的代码,它位于结构文件中:
Anonymous closure argument not contained in a closure
答案 0 :(得分:2)
你不应该写$0
,因为没有闭包,只需指定函数的名称即可:
"ln" : Operation.unaryOperation(log)
答案 1 :(得分:2)
考虑一下您编写的平方根和三角函数的代码,例如:
"cos" : Operation.unaryOperation(cos)
仅引用函数,此处cos
,按名称生成函数值。对于另外两个人,你写了一个闭包,例如:
"%" : Operation.unaryOperation({ $0 / 100 })
这里你使用了一个闭包({ ... }
)来获取你的函数值。然后你的log
行会产生错误:
"ln" : Operation.unaryOperation(log( $0 ))
这不是第一个或第二个案例。您是否打算编写一个闭包,即{ log($0) }
,或仅引用现有函数,即log
?两者都有效。
选择以上两个选项之一,然后获得一些睡眠/咖啡; - )
HTH