まずは復習 Ruby を使っていれば、範囲オブジェクトを必ず一度は目にすると思います。 範囲オブジェクト (もしくは Range オブジェクト) を生成する演算子には .. と ... の 2 種類があり、.. は終端を含みますが ... は終端を含まないという違いがあります。実際に for 式で調べてみれば明白ですね。 i = 3 for k in 0..i # 0 から 3 までが出力される p k end for k in 0...i # 0 から 2 までが出力される p k end さて・・・ 上の例では、0..i と 0...i という 2 つの範囲オブジェクトを使っていますが、実はこの 0 を $ という特殊な記号に置き換えてもオブジェクトが作れます。ご存知でしたか? 知らなかったという方は、下のコードの実行結果がどうなるか予想してみてください。