and yes, the fact that Ruby's only Infinity is Float::Infinity is dumb and weird, but there it is.
leitz: the issue is that every when clause must have an *object* to which to send the === message in order to perform the match. 4..5 constructs a Range object. `> 5` doesn't construct any object, it's just incomplete syntax.
juniorgoat: if you're starting out learning Ruby you can do that just fine on Windows. That's where I learned. Beyond that, I've been doing Ruby dev on linux for quite a while, and I know plenty others who do