把哈希放在Ruby中

时间:2014-03-06 07:45:36

标签: ruby date

我有这个哈希,想要打印它:

{:date=>#<Date: 2013-03-29 ((2456381j,0s,0n),+0s,2299161j)>, :name=>"Karfreitag", :regions=>[:de]}
{:date=>#<Date: 2013-04-01 ((2456384j,0s,0n),+0s,2299161j)>, :name=>"Ostermontag", :regions=>[:de]}
{:date=>#<Date: 2013-05-01 ((2456414j,0s,0n),+0s,2299161j)>, :name=>"Tag der Arbeit", :regions=>[:de]}

我尝试过:

def print_holiday(a)        
  a.each do |date|
    puts date["name"] + " " + date["date"]
  end                   
end

但我得到的只是一些空行。有什么想法吗?

我正在使用假日宝石。

1 个答案:

答案 0 :(得分:10)

字符串不是符号。哈希中的键是符号,但您尝试通过字符串访问值。

试试这个:

puts date[:name] + " " + date[:date]

The Difference Between Ruby Symbols and Strings