对于Ruby哈希,一次将多个键设置为相同的值
发布时间:2020-12-17 02:25:09 所属栏目:百科 来源:网络整理
导读:我正在尝试创建这个巨大的哈希,其中有许多键但只有几个值. 到目前为止,我有这样的… du_factor = { "A" = 1,"B" = 1,"C" = 1,"D" = 2,"E" = 2,"F" = 2, …等等,等等,甚至比你想知道的还要长.什么是更简洁,更优雅的方式来创建这个哈希而不完全翻转它的结构?
我正在尝试创建这个巨大的哈希,其中有许多键但只有几个值.
到目前为止,我有这样的… du_factor = { "A" => 1,"B" => 1,"C" => 1,"D" => 2,"E" => 2,"F" => 2, …等等,等等,甚至比你想知道的还要长.什么是更简洁,更优雅的方式来创建这个哈希而不完全翻转它的结构? 编辑:嘿,我意识到有一个更容易和更优雅的方式来做这个比给出的答案.只需声明一个空哈希,然后用你想要的键声明一些数组,然后使用for语句将它们插入到数组中,如下所示: du1 = ["A","B","C"] du2 = ["D","E","F"] dufactor = {} for i in du1 dufactor[i] = 1 end for i in du740 dufactor[i] = 2 end ……但是没有人建议让我,极端的Ruby n00b认为必须有这样一个原因,我不应该这样做.性能问题? 解决方法
将
Ranges与案例块组合可能是另一种选择(取决于您尝试解决的问题):
case foo when ('A'..'C') then 1 when ('D'..'E') then 2 # ... end 特别是如果您专注于源代码的可读性. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |