Menu
Coddy logo textTech

配列の変更

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, 3

delete を使用して、特定の値を削除することもできます。

letters = ["a", "b", "c", "b"]
letters.delete("b")
puts letters  # 出力: a, c

なお、delete は配列から指定された値のすべての出現箇所を削除することに注意してください。

challenge icon

チャレンジ

簡単

以下の配列が提供されています:

tasks = ["email", "meeting", "lunch", "report", "call"]

3つの入力を読み取ります:

  1. インデックス(整数) - 変更する位置
  2. 新しい値(文字列) - その位置の置き換え値
  3. 削除する値(文字列) - 配列から削除する要素

以下の操作を順番に実行してください:

  1. 指定されたインデックスの要素を新しい値で置き換える
  2. push を使用して、配列の最後に "review" を追加する
  3. シャベル演算子 << を使用して、配列の最後に "planning" を追加する
  4. pop を使用して、最後の要素を削除する
  5. shift を使用して、最初の要素を削除する
  6. delete を使用して、指定された値のすべての出現を削除する

puts を使用して、最終的な配列を出力します。

例えば、入力が 2breakcall の場合、出力は以下のようになります:

meeting
break
report
review

入力が 0standupreport の場合、出力は以下のようになります:

meeting
lunch
call
review

入力が 4demolunch の場合、出力は以下のようになります:

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
quiz icon腕試し

このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。

基礎のすべてのレッスン