gpt4 book ai didi

ruby - 在 Ruby 2.7 中解构 block 参数中的哈希

转载 作者:行者123 更新时间:2023-12-03 14:37:55 25 4
gpt4 key购买 nike

这个:

[{a: 1, b: 2}, {a: 3, b: 4}].each do |a:, b:| p a end

在 Ruby 2.7 中引发以下警告

warning: Using the last argument as keyword parameters is deprecated; maybe ** should be added to the call



我明白 each正在向区块传递一个哈希值,区块现在接受 |a:, b:|作为命名参数但是,有没有办法在这种情况下正确解构散列?

最佳答案

我不确定,但我认为这个想法可能是使用模式匹配进行散列解构?例如:

{a: 1, b: 2}.tap do |args|
args in {a: a, b: b} # !!!
p a
end

但是,目前默认情况下,这将显示警告(可以禁用):

Pattern matching is experimental, and the behavior may change in future versions of Ruby!

关于ruby - 在 Ruby 2.7 中解构 block 参数中的哈希,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62188848/

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