gpt4 book ai didi

Ruby lambda 参数

转载 作者:数据小太阳 更新时间:2023-10-29 06:29:44 25 4
gpt4 key购买 nike

此代码按预期工作(什么都不做,甚至不产生警告/错误):

l = lambda {|i|}
l.call(1)

此代码产生警告(警告: block 参数的多个值(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)的特性

最佳答案

Lambda 很奇怪,当您的参数少于两个时,它们的行为会有所不同。检查this article获取更多信息。

关于Ruby lambda 参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2232283/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com