加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

对于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

特别是如果您专注于源代码的可读性.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读