あなたの予想に反して、この式が評価されているでしょうか?
ということで、こういうことをしたかったんだけど:
puts if ((0..12).cover? Time.now.hour then "Hello, World!" else "Good evening, World!" end
これはシンタックスエラーになる。
puts ((0..12).cover? Time.now.hour && "Hello, World!") || "Good evening, World!"
and と or を逆にすると 一番最初の値が表示されちゃうので注意。
* 最初の例に if の end が抜けてたので修正。