Works as designed. With Time.now -1 the parser parses this as Time.now(-1). Rule of thumb: use spaces around operators - makes your code also more readable.
Kind regards
robert
···
On 27.11.2008 08:29, Heesob Park wrote:
I found some unexpected errors in time difference test.
Is this a bug or feature?
irb(main):001:0> Time.now-1
=> Thu Nov 27 16:19:35 +0900 2008
irb(main):002:0> Time.now -1
ArgumentError: wrong number of arguments (1 for 0)
from (irb):2:in `initialize'
from (irb):2:in `now'
from (irb):2
irb(main):003:0> Time.now - 1
=> Thu Nov 27 16:19:40 +0900 2008
irb(main):004:0> t = Time.now
=> Thu Nov 27 16:19:48 +0900 2008
irb(main):005:0> Time.now-t
=> 7.250976
irb(main):006:0> Time.now -t
NoMethodError: undefined method `-@' for Thu Nov 27 16:19:48 +0900 2008:Time
from (irb):6
from :0
irb(main):007:0> Time.now - t
=> 11.539909