【Ruby3.x】Array::take_while()メソッドの使い方
take_whileメソッドの使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
take_whileメソッドは、Arrayクラスに属するメソッドで、配列の先頭から要素を順番に検査し、渡されたブロックの条件を満たす要素だけを新しい配列として取得するメソッドです。このメソッドは、配列の各要素を一つずつ取り出し、引数として渡されたブロックを実行します。ブロックが要素に対してtrueを返す間は、その要素を結果として生成される新しい配列に追加していきます。しかし、一度でもブロックがfalseを返した時点で、take_whileメソッドはその要素以降の処理をすべて終了します。そのため、条件を満たさなくなった最初の要素より後ろの要素は、たとえ後続の要素が条件を満たしていたとしても、結果の配列には含まれません。元の配列(レシーバー)の内容は一切変更されず、常に条件に合致した要素のみを含む新しい配列が戻り値として返されます。このメソッドは、配列の先頭から特定の条件を満たす連続した部分だけを効率的に抽出したい場合に、非常に有用です。
構文(syntax)
1[1, 2, 3, 4, 5, 10, 11, 12].take_while { |n| n < 10 }
引数(parameters)
引数なし
引数はありません
戻り値(return)
Array
指定されたブロックが真を返す最初の要素から、配列の末尾までの要素を新しい配列として返します。ブロックが一度も真を返さなかった場合は、空の配列を返します。