我是Ruby的新手..寻求帮助......
我有一个代码
DB = { 'key1' => "value1",
'key2' => "value2"}
key = gets
DB["#{key}"]
当我从控制台输入key1
时,我得到nil
如何解决这个问题?
我尝试了几种不同的选择,但无法解决它。希望在这里得到帮助。
由于
答案 0 :(得分:6)
字符串末尾有换行符。请改用gets.chomp
。
答案 1 :(得分:1)
你想做什么?你的问题并不完全清楚。
如果您想通过输入密钥来访问DB
中的值,我会这样做:
DB = { 'key1' => "value1", 'key2' => "value2"}
key = gets.strip
puts DB[key]
答案 2 :(得分:0)
好吧,“key1”只是一个字符串,比如“value1”。
如果你想使用“key1”从数据库中取出“value1”,那么你需要的就是
DB["key1"]
将为您提供“value1”。
答案 3 :(得分:0)
Ruby的gets
从控制台返回值,包括换行符(\ n)。实际上,除非您需要输入换行符,否则请使用var=gest.chomp
输入。 chomp
是String的一种方法,删除结束的\ n,\ r和\ r \ n字符。所以你的代码就是这样:
key=gets.chomp
puts DB[key]