gpt4 book ai didi

Ruby:来自局部变量的新散列

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

我正在尝试从局部变量创建哈希(丢弃不存在的变量)。像这样:

foo = "bar"
baz = "qiz"

["foo", "baz", "nothing"].something_awesome

#=>
{"foo" => "bar", "baz" => "qiz"}

我尝试了 Array 和 Enumerable 的多种不同组合,但找不到合适的组合。有什么想法吗?

感谢您的帮助!

最佳答案

建立在 Jin 的答案之上的是一个稍微更惯用的版本,它包含了异常:

ree-1.8.7-2011.03 :042 > foo, bar = 'bar', 'quz'
=> ["bar", "quz"]
ree-1.8.7-2011.03 :043 > %w(foo bar nothing).reduce({}) { |acc, item| acc[item] = eval(item) rescue nil; acc }.reject { |k, v| v.nil? }
=> {"foo"=>"bar", "bar"=>"quz"}

恕我直言,尽管 eval 应该感觉很脏/有风险,您可能需要总体上重新考虑您的方法。

关于Ruby:来自局部变量的新散列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7682654/

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