【Ruby3.x】Range::count()メソッドの使い方
countメソッドの使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
countメソッドは、Rangeオブジェクトが保持する要素の数を数える、または特定の条件を満たす要素の数を取得するメソッドです。このメソッドは、引数の有無やブロックの指定によって、その挙動が変化します。
引数を指定せずにcountメソッドを呼び出すと、そのRangeオブジェクトに含まれる全ての要素の総数を返します。これは、Rangeの大きさを手軽に知りたい場合に利用できます。
もし引数に特定の値を渡した場合、countメソッドはRange内にその引数として渡された値がいくつ含まれているかを数えます。Rangeは通常、同じ値を複数保持しないため、結果は0または1となることがほとんどです。これにより、特定の数値や文字が指定された範囲内に存在するかどうかを簡単に確認できます。
さらに、countメソッドはブロックを受け取ることも可能です。ブロックが与えられた場合、Range内の各要素に対してブロックを実行し、ブロックが真(true)を返す要素だけを数え上げます。この機能を使うと、「指定した範囲内で偶数である要素の数」や「特定の条件を満たす文字列の数」といった、より複雑な条件でのカウントを柔軟に行うことができます。
このようにcountメソッドは、Rangeオブジェクト内の要素の総数を調べたり、特定の値の有無を確認したり、独自の条件に基づいて要素をフィルタリングして数を数えたりする際に非常に役立ちます。データ範囲内での集計や検証を行う場面で、効率的なコードを記述するために活用できます。
構文(syntax)
1(1..10).count { |n| n.even? }
引数(parameters)
obj
- obj: 範囲内に含まれるか判定する要素
戻り値(return)
Integer
指定された範囲に含まれる要素の数を整数で返します。