「Why'sguide」を読んでいて、rubyターミナルのいくつかのコマンドを並べて試しています。1つのことが一致しません。Ruby1.9.3を実行しています。
この本では、有効なコマンドは次のとおりです。
if 1890..1913 === 1895
echo "works"
end
しかし、私がこれをするとき、それは私にただ与えます
warning: (irb):27: warning: integer literal in conditional range
=> nil
いくつかのより魅力的な実験
1895..1913 === 1895
> ArgumentError: bad value for range
from (irb):31
from /usr/bin/irb:12:in `<main>'
x = 1895..1913
x === 1895
> true
(pythonから)最後の2つの実行は同じだと思っていたので、これは興味深いですが、そうではないようです。これらすべての実験が失敗した理由と、===がどのように機能するかについて、誰かがより多くの洞察を明らかにできるでしょうか。