gpt4 book ai didi

Ruby 做/结束 vs 大括号

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

为什么这个 map 表达式会根据我使用大括号还是 do/end 产生不同的结果?

a = [1,2,3,4,5]


p a.map { |n|
n*2
}
#=> [2,4,6,8,10]


p a.map do |n|
n*2
end
#=> [1,2,3,4,5]

最佳答案

那是因为第二行被解释为:

p(a.map) do ... end

代替:

p(a.map do ... end)

在这种情况下,语法是不明确的,do 似乎没有 { 那样强。

关于Ruby 做/结束 vs 大括号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5513531/

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