使用符号或整数访问哈希

时间:2016-01-15 12:27:15

标签: ruby string hash symbols

我有这个哈希:

@current_user.birthday = { "birthday" => "12/01/1978", "id" => "524626626" }

我想抓住日期"12/01/1978"

我尝试@current_user.birthday[:birthday],只是为了获得no implicit conversion of Symbol into Integer

什么是正确的方法?

修改

我认为输出是字符串而不是

puts @current_user.birthday给了我{"birthday"=>"09/21/1985", "id"=>"425495284312580"}

puts @current_user.birthday[0..3]给了我{"bi

我可以通过发出@current_user.birthday[14..23]的{​​{1}}来获取它。但是,如果有多个生日,有没有更好的方法

2 个答案:

答案 0 :(得分:1)

应该是

@current_user.birthday["birthday"]

您的birthday不是符号,而是字符串。

答案 1 :(得分:0)

所以问题是将Hash打印为String。我使用eval将其转换为哈希

@current_user.birthday = {"birthday"=>"09/21/1985", "id"=>"425495284312580"}

birthday = @current_user.birthday hash = eval(birthday)

puts hash["birthday"] => 12/01/1978