ruby:入れ子の配列の中で特定の文字列を含む配列を検索し、その配列の2番目の要素を取得する方法

Ruby

rubyで下記のようなmyarrを作った。 myarrから”complete_counting_field”が含まれる配列を検索して(選択して)、二番目の要素を取得する方法です。

以下のように、Rubyのfindメソッドを使用して、myarrから”complete_counting_field”が含まれる配列を検索し、二番目の要素を取得できます。

myarr=[["project_notification_flag", "", "通知プロジェクト", "bool"], ["incomplete_counting_field", 106, "未完了チケット数", "int"], ["delay_counting_field", "107", "遅延チケット数", "int"], ["complete_counting_field", "108", "完了チケット数", "int"], ["number_of_tickets_added_this_week", "109", "今週追加されたチケット数", "int"], ["number_of_tickets_closed_this_week", "110", "今週終了したチケット数", "int"], ["number_of_tickets_added_this_month", "114", "今月追加したチケット数", "int"], ["number_of_tickets_closed_this_month", "113", "今月終了したチケット数", "int"]] 
result = myarr.find { |arr| arr.include?("complete_counting_field") }
second_element = result[1] if result

このコードでは、findメソッドを使用して、引数として渡されたブロックの条件を満たす最初の要素を返すように指示しています。ブロック内のarr.include?(“complete_counting_field”)は、各配列が”complete_counting_field”を含んでいるかどうかを確認します。

その後、もしresultがnilではない場合、つまり”complete_counting_field”を含む配列が見つかった場合は、その配列の二番目の要素をsecond_elementに割り当てます。

タイトルとURLをコピーしました