void value expression は、返す値がない式をreturnしたり代入したりすると返されるエラーだそうです。
次のコードで void value expression がでて少し迷いました。
return 123 <= 456 and 456 <= 789
以下のようにすることで回避できました。
return (123 <= 456 and 456 <= 789)
ちなみに
これはエラーを返さないみたいです。
return 123 <= 456 && 456 <= 789
これは、Rubyのandと&&の優先度の違いによるもののようです。
andの方が低いです。
=> http://docs.ruby-lang.org/ja/1.9.3/doc/spec=2foperator.html#and