Ruby中的哈希问题

时间:2009-11-08 18:50:11

标签: ruby hash

我是Ruby的新手..寻求帮助......

我有一个代码

DB = { 'key1' => "value1",
       'key2' => "value2"}

key = gets
DB["#{key}"]

当我从控制台输入key1时,我得到nil 如何解决这个问题?

我尝试了几种不同的选择,但无法解决它。希望在这里得到帮助。

由于

4 个答案:

答案 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]