Ruby-ranges
提供:Dev Guides
ルビー-範囲
範囲はどこでも発生します:1月から12月、0から9行、50から67行など。 Rubyは範囲をサポートしており、さまざまな方法で範囲を使用できます-
- シーケンスとしての範囲
- 条件としての範囲
- 間隔としての範囲
シーケンスとしての範囲
範囲の最初で、おそらく最も自然な使用法は、シーケンスを表現することです。 シーケンスには、開始点、終了点、およびシーケンス内の連続した値を生成する方法があります。
Rubyは、 .. および … 範囲演算子を使用してこれらのシーケンスを作成します。 2ドット形式は包括的範囲を作成し、3ドット形式は指定された高い値を除外する範囲を作成します。
シーケンス1..100は、2つの_Fixnum_オブジェクトへの参照を含むRange _object_として保持されます。 必要な場合は、_to_a_メソッドを使用して範囲をリストに変換できます。 次の例を試してください-
これは、次の結果を生成します-
範囲は、それらを反復処理し、さまざまな方法でその内容をテストできるメソッドを実装します-
これは、次の結果を生成します-
条件としての範囲
範囲は条件式としても使用できます。 たとえば、次のコードフラグメントは標準入力から行のセットを印刷します。各セットの最初の行には単語_start_が含まれ、最後の行には単語_ends_が含まれます-
範囲は、caseステートメントで使用できます-
これは、次の結果を生成します-
間隔としての範囲
汎用範囲の最後の使用法は、間隔テストとしてです。ある値が範囲で表される間隔内に収まるかどうかを確認します。 これは、ケース等価演算子===を使用して行われます。
これは、次の結果を生成します-