範囲演算子いろいろ。

8年ぶりくらいにカラオケ屋に行ってきた。
曲を入力する端末がタッチパネル方式になっていて、曲名、歌手名での検索が出来たり、料理の注文が出来たり、おまけにゲームが出来たりして、その発展ぶりにビックリした。
何となくこのAAを思い出した。
というわけで、範囲演算子。今まであまり使ったことがなかったので、これを機にいろいろとやってみた。

#!/usr/bin/env ruby

# 範囲を条件式として使う
arr = %w{ 0 start 1 2 3 4 5 end 6 7 8 9}
arr.each do |item|
  # トグルのように最初の範囲がtureとなるとon
  # 2番目の条件がtrueとなるとoffとなる
  if item == 'start' .. item == 'end'
    p item
  end
end

# ===は範囲の中に含まれていたらtrueを返す
p (1..10) === 5
p (1..10) === 11
p ('a'..'c') === 'b'

結果。

"start"
"1"
"2"
"3"
"4"
"5"
"end"
true
false
true