次の要素 - ruby 配列 追加




どのようにして配列の各要素を大文字にすることができますか? (2)

新しい配列を返す

大文字の配列を返す場合は、 #map

array = ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday"]

# Return the uppercased version.
array.map(&:upcase)
=> ["MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY", "FRIDAY"]

# Return the original, unmodified array.
array
=> ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday"]

ご覧のとおり、元の配列は変更されていませんが、式を使用できる場所であれば大文字の戻り値を#mapから使用することができます。

配列での配列の更新

配列をインプレースで大文字にしたい場合は#map! 代わりに:

array = ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday"]
array.map!(&:upcase)
array
=> ["MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY", "FRIDAY"]

どのようにして要素の配列を大文字に変換できますか? 期待される出力は次のようになります。

["Monday", "Tuesday", "Wednesday", "Thursday", "Friday"]  
=> ["MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY", "FRIDAY"]

以下はうまくいかず小文字にしました。

Day.weekday.map(&:name).each {|the_day| the_day.upcase }
 => ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday"] 

あなたの例では、 'each'を 'map'に置き換えます。

'each'は配列全体を反復しますが、ブロックによって返された値を含む新しい配列は作成されません。







arrays