配列の変更
CoddyのRubyジャーニー「基礎」セクションの一部 — レッスン 60/88。
配列の要素にアクセスする方法がわかったところで、次はそれらを変更する方法を学びましょう。インデックスに新しい値を代入することで、任意の要素を修正できます。
fruits = ["apple", "banana", "cherry"]
fruits[1] = "mango"
puts fruits # 出力: apple, mango, cherry配列に要素を追加するには、pushメソッドまたはシャベル演算子<<を使用します。どちらも末尾に要素を追加します:
colors = ["red", "blue"]
colors.push("green")
colors << "yellow"
puts colors # 出力: red, blue, green, yellow要素を削除するために、Rubyはいくつかのオプションを提供しています。popメソッドは最後の要素を削除して返し、shiftは最初の要素を削除します:
numbers = [1, 2, 3, 4]
numbers.pop # 4を削除します
numbers.shift # 1を削除します
puts numbers # 出力: 2, 3delete を使用して、特定の値を削除することもできます。
letters = ["a", "b", "c", "b"]
letters.delete("b")
puts letters # 出力: a, cなお、delete は配列から指定された値のすべての出現箇所を削除することに注意してください。
チャレンジ
簡単以下の配列が提供されています:
tasks = ["email", "meeting", "lunch", "report", "call"]3つの入力を読み取ります:
- インデックス(整数) - 変更する位置
- 新しい値(文字列) - その位置の置き換え値
- 削除する値(文字列) - 配列から削除する要素
以下の操作を順番に実行してください:
- 指定されたインデックスの要素を新しい値で置き換える
pushを使用して、配列の最後に"review"を追加する- シャベル演算子
<<を使用して、配列の最後に"planning"を追加する popを使用して、最後の要素を削除するshiftを使用して、最初の要素を削除するdeleteを使用して、指定された値のすべての出現を削除する
puts を使用して、最終的な配列を出力します。
例えば、入力が 2、break、call の場合、出力は以下のようになります:
meeting
break
report
review入力が 0、standup、report の場合、出力は以下のようになります:
meeting
lunch
call
review入力が 4、demo、lunch の場合、出力は以下のようになります:
meeting
report
demo
reviewチートシート
配列の要素を変更するには、そのインデックスに新しい値を代入します:
fruits = ["apple", "banana", "cherry"]
fruits[1] = "mango"
puts fruits # 出力: apple, mango, cherry配列の末尾に要素を追加するには、pushまたはシャベル演算子<<を使用します:
colors = ["red", "blue"]
colors.push("green")
colors << "yellow"
puts colors # 出力: red, blue, green, yellow配列から要素を削除するには:
popは最後の要素を削除して返しますshiftは最初の要素を削除して返しますdeleteは指定された値のすべての出現箇所を削除します
numbers = [1, 2, 3, 4]
numbers.pop # 4を削除
numbers.shift # 1を削除
puts numbers # 出力: 2, 3
letters = ["a", "b", "c", "b"]
letters.delete("b")
puts letters # 出力: a, c自分で試してみよう
# 初期配列
tasks = ["email", "meeting", "lunch", "report", "call"]
# 入力を読み込む
index = gets.chomp.to_i
new_value = gets.chomp
value_to_delete = gets.chomp
# TODO: 以下にコードを記述してください
# 1. 指定されたインデックスの要素を新しい値に置き換える
# 2. pushを使用して最後に "review" を追加する
# 3. シャベル演算子 << を使用して最後に "planning" を追加する
# 4. popを使用して最後の要素を削除する
# 5. shiftを使用して最初の要素を削除する
# 6. deleteを使用して指定された値のすべての出現箇所を削除する
# 最終的な配列を出力する
puts tasksこのレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。