配列の要素へのアクセス
CoddyのRubyジャーニー「基礎」セクションの一部。レッスン 59/88。
配列の各要素には、インデックスと呼ばれる位置があります。Rubyでは、インデックスは0から始まります。つまり、最初の要素のインデックスは0、2番目の要素のインデックスは1となり、以降も同様です。
要素にアクセスするには、インデックスを角括弧で囲んで指定します。
fruits = ["apple", "banana", "cherry"]
puts fruits[0] # 出力: apple
puts fruits[1] # 出力: banana
puts fruits[2] # 出力: cherryRubyは、配列の末尾から数える負のインデックスにも対応しています。インデックス -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)チャレンジ
簡単次の配列が与えられています。
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メソッドを使って最後の要素を出力するこのレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。
基礎のすべてのレッスン
自分で練習してみよう: Rubyオンラインコンパイラ