首页 > 解决方案 > Ruby通过字符串输入更改哈希中的真假值

问题描述

从第一方开始学习 Ruby。

我想尝试通过将键与用户输入匹配来更改哈希的值。

例如

list = {
   "records" => false,
   "games" => false,
   "phones" => true
}

action = gets.strip

我可能会走开,但我假设我需要一个“if”语句,它可能会开始类似:

if list.include?(action)

但不确定。因此,如果用户键入“记录”,则该语句变为真。提前致谢!

标签: inputhash

解决方案


这看起来很 hacky,最好的建议可能是“这应该以不同的方式完成”。但是,没有时间,这应该可行:

list.keys.each { |k| list[k] = (action == k) }

更新,因为您想要不同的东西:

list[action] = true

推荐阅读