そこでRangeですよ

2007-03-25

if 1 < x < 10
  puts "#{x}は1から10の間!"
else
  puts "#{x}は1から10の間じゃない"
end

みたいにかけるようにしてみた。

範囲リテラルがあるから不要だと思うなぁ。

x = 2
if (2..9).include? x
  puts "#{x}は1から10の間!"
else
  puts "#{x}は1から10の間じゃない"
end
# >> 2は1から10の間!

xを主役にしたければcase式もある。

x = 2
case x
when 2..9
  puts "#{x}は1から10の間!"
else
  puts "#{x}は1から10の間じゃない"
end
# >> 2は1から10の間!

追記

しまった、うっかり<=だと読んでもうた!

でも、範囲リテラルは括弧がいるのがなんとなくいやかな。

では、 「2..9 === x」や「x.between? 2, 9」で。