This is strange. When I assign Time.now to a variable, I expect to have stored in curtime the time when I assigned the value.
Instead, I always get the very current time, i.e. the time when I access the variable:
curtime = Time.now
=> 2011-06-02 16:08:52 +0000
=> 2011-06-02 16:08:54 +0000
=> 2011-06-02 16:08:57 +0000
=> 2011-06-02 16:09:00 +0000
=> 2011-06-02 16:09:03 +0000
Confirmed. Unfortunately this is due to the way TryRuby remembers the users session. Instead of keeping an irb process running per user (we had a lot of problems in making that secure), on every method invocation it starts a new session, repeats all past instructions and outputs the result of the latest command. Therefor each time this is done, curtime will get a new value. A similar effect can be seen by running the commands x = rand, x, x; each time x will have a new value.
x = rand
Unfortunately I don't know an easy solution to this other than to get irb sessions working securely, which would need a lot of rewriting and a way to solve some security issues.
Thanks for the report though, I didn't think of this situation :S