[Ruby] findメソッドとselectメソッドの使い方

<findメソッド>

・配列やハッシュから指定した条件に一致する「最初の要素」を取得するメソッド

・書き方… オブジェクト.find{ |要素| 条件式 }

・類似メソッド… detectメソッド


例)配列の該当する最初の要素を取得する

array = [1, 2, 3, 4, 5, 6]
puts array.find{ |n| n % 3 == 0 }

結果↓

3

ハッシュの該当する最初の要素を取得する

player = {"荻野" => 35, "藤原" => 21, "中村" => 29, "佐藤" => 23, "安田" => 22}
p player.find{ |k, v| v > 28 }

結果↓

["荻野", 35]

<selectメソッド>

配列やハッシュから指定した条件に一致する「全ての要素」を取得するメソッド

・書き方… オブジェクト.select{ |要素| 条件式 }

・類似メソッド… find_allメソッド


例)配列の該当する要素を全て取得する

array = [1, 2, 3, 4, 5, 6]
p array.select{ |n| n % 3 == 0 }

結果↓

 [3, 6]

ハッシュの該当する要素を全て取得する

player = {"荻野" => 35, "藤原" => 21, "中村" => 29, "佐藤" => 23, "安田" => 22}
p player.select{ |k, v| v > 28 }

結果↓

{"荻野"=>35, "中村"=>29}
タイトルとURLをコピーしました