Menu
CoddyTech

配列の要素へのアクセス

CoddyのRubyジャーニー「基礎」セクションの一部。レッスン 59/88。

配列の各要素には、インデックスと呼ばれる位置があります。Rubyでは、インデックスは0から始まります。つまり、最初の要素のインデックスは0、2番目の要素のインデックスは1となり、以降も同様です。

要素にアクセスするには、インデックスを角括弧で囲んで指定します。

fruits = ["apple", "banana", "cherry"]
puts fruits[0]  # 出力: apple
puts fruits[1]  # 出力: banana
puts fruits[2]  # 出力: cherry

Rubyは、配列の末尾から数える負のインデックスにも対応しています。インデックス -1 は最後の要素、-2 は最後から2番目の要素を指し、以下同様です。

colors = ["red", "green", "blue"]
puts colors[-1]  # 出力: blue
puts colors[-2]  # 出力: green

配列の先頭と末尾にすばやくアクセスするには、first メソッドと last メソッドも使えます。

numbers = [10, 20, 30, 40]
puts numbers.first  # 出力: 10
puts numbers.last   # 出力: 40

存在しないインデックスにアクセスしようとすると、Rubyはエラーを発生させずにnilを返します。

letters = ["a", "b", "c"]
puts letters[10]  # 出力: (何も出力されない - nil)
challenge icon

チャレンジ

簡単

次の配列が与えられています。

planets = ["Mercury", "Venus", "Earth", "Mars", "Jupiter", "Saturn", "Uranus", "Neptune"]

インデックスを表す整数を1つ入力から読み取ります。そのインデックスの要素にアクセスし、出力してください。

入力が負の数の場合は、負のインデックスを使用してください。入力は常にこの配列の有効なインデックス(-8から7まで)です。

指定されたインデックスの要素を出力した後、firstメソッドとlastメソッドを使って、配列の最初と最後の要素をそれぞれ別の行に出力してください。

たとえば、入力が2の場合、出力は次のようになります。

Earth
Mercury
Neptune

入力が-1の場合、出力は次のようになります。

Neptune
Mercury
Neptune

入力が4の場合、出力は次のようになります。

Jupiter
Mercury
Neptune

自分で試してみよう

# 惑星の配列
planets = ["Mercury", "Venus", "Earth", "Mars", "Jupiter", "Saturn", "Uranus", "Neptune"]

# 入力からインデックスを読み取る
index = gets.chomp.to_i

# TODO: 以下にコードを書く
# 1. 指定されたインデックスの要素にアクセスして出力する
# 2. firstメソッドを使って最初の要素を出力する
# 3. lastメソッドを使って最後の要素を出力する
quiz icon腕試し

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

基礎のすべてのレッスン

自分で練習してみよう: Rubyオンラインコンパイラ