gpt4 book ai didi

哈希上的 Ruby case 语句?

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

这听起来很奇怪,但我很想做这样的事情:

case cool_hash
when cool_hash[:target] == "bullseye" then do_something_awesome
when cool_hash[:target] == "2 pointer" then do_something_less_awesome
when cool_hash[:crazy_option] == true then unleash_the_crazy_stuff
else raise "Hell"
end

理想情况下,我什至不需要再次引用 has,因为这是 case 语句的内容。如果我只想使用一个选项,那么我会“case cool_hash[:that_option]”,但我想使用任意数量的选项。另外,我知道 Ruby 中的 case 语句只评估第一个真正的条件 block ,有没有办法覆盖它来评估每个 block ,除非有中断?

最佳答案

您还可以使用 lambda:

case cool_hash
when -> (h) { h[:key] == 'something' }
puts 'something'
else
puts 'something else'
end

关于哈希上的 Ruby case 语句?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17326754/

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