From: Robert Klemme Date: 2008-11-27T16:35:36+09:00 Subject: Re: unexpected error in time difference 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 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