Rubyで、 === を使うと範囲チェックができます。
Rubyでは、 === は、JavaScriptのような厳密等価ではなく曖昧等価のような感じです。
(0..10) === x # true,falseを返す
もしも逆に x === (0..10) とした場合は、意図した答えになりません。
また優先順位の関係で、 0..10 === x もエラーになります。
>irb
irb(main):001:0> x=5
=> 5
irb(main):002:0> (0..10)===x
=> true
irb(main):003:0> x===(0..10)
=> false
irb(main):004:0> 0..10===x
ArgumentError: bad value for range
from (irb):4
from :0
irb(main):005:0>
通常 === は、case文で使われているようです。
ret = case num
when 0..100; "0-100"
when 100..500; "100-500"
when 500..1000; "500-1000"
when 1000..5000; "1000-5000"
when 5000..10000; "5000-10000"
when 10000..50000; "10000-50000"
when 50000..100000; "50000-100000"
else "100000-"
end
=== は、JavaScriptで使用する場合は厳密等価演算子になります。
参考
2022/03/09