Date.new的参数错误

时间:2014-04-20 11:06:38

标签: ruby-on-rails ruby ruby-on-rails-3

我写了这段代码:

[1,2,3,4].each do |f|
    @date = Date.new(2014,f * 3,1)
    @begin = @date.beginning_of_quarter
    @end = @date.end_of_quarter

    puts  f + " Quartal von " + @begin + " bis " + @end
end

不知怎的,我得到了错误:

 DateTest.rb:2:in `initialize': wrong number of arguments (3 for 0) (ArgumentError)
    from DateTest.rb:2:in `new'
    from DateTest.rb:2:in `block in <main>'
    from DateTest.rb:1:in `each'
    from DateTest.rb:1:in `<main>'

我错了什么?谢谢!

2 个答案:

答案 0 :(得分:3)

您向原始Date.new传递了三个参数,这些参数不带任何参数。带参数的那个是"date"库覆盖的那个。为了使用它,你需要做

require "date"

答案 1 :(得分:1)

使用DateTime代替Date使用参数初始化它。检查API。 Date&amp; DateTime