Ruby lambda参数
发布时间:2020-12-16 19:53:13 所属栏目:百科 来源:网络整理
导读:该代码按预期工作(什么都不做,甚至不会产生警告/错误): l = lambda {|i|}l.call(1) 此代码产生警告(警告:块参数的多个值(0为1)): l = lambda {|i|}l.call 并且这个代码失败并出现错误(ArgumentError:参数数量错误(0为2)): l = lambda {|i,y|}l.call 我
该代码按预期工作(什么都不做,甚至不会产生警告/错误):
l = lambda {|i|} l.call(1) 此代码产生警告(警告:块参数的多个值(0为1)): l = lambda {|i|} l.call 并且这个代码失败并出现错误(ArgumentError:参数数量错误(0为2)): l = lambda {|i,y|} l.call 我以为lambda需要传递所有的参数. 从第二个例子我看到它不是.为什么只有一个参数被赋予并且按照预期的方式工作(失败与错误)多个参数? PS:ruby 1.8.6(2008-08-11 patchlevel 287)[universal-darwin9.0] 更新:我用ruby 1.9.1p376检查了这些样本.它的工作原理如下 – 第二个例子也会产生错误.看起来这是1.8版本的功能(或<= 1.8) 解决方法
兰布斯很奇怪,当你有不到两个参数时,他们的行为是不同的.查看
this article了解更多信息.
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |