0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

配列の中に配列がある場合の値の出力の仕方

Posted at

普通の配列

colors =["white", "black", "red", "green", "blue"]

colorsという配列の中に、5つの要素が入っています。
先頭から順番に0、1、2、3…とインデックス番号が割り当てられています。
※1、2、3…ではないので注意!

出力する際は、

puts colors[2]

とすると、3番目のredが取り出せます。

配列の中に配列

animals = [["tuna", "octopus", "shark"], ["dog", "cat", "pig"], ["crow", "swan", "eagle"]]

こんな感じのやつです。
animalsという配列の中に、海の動物、陸の動物、空の動物をそれぞれ3種類ずつ入れた配列が入っています。

中身を全てまとめて出力する

puts animals

<出力結果>
tuna
octopus
shark
dog
cat
pig
crow
swan
eagle

海の動物だけを出力する

海の動物は0というインデックス番号が割り当てられています。

puts animals[0]

<出力結果>
tuna
octopus
shark

タコだけを出力する

インデックス番号0という海の動物の中で、
さらにインデックス番号1が割り当てられています。

puts animals[0][1]

<出力結果>
octopus

指定して全て出力したもの

=> は出力されたものを表しています。

puts animals[0][0]
=> tuna
puts animals[0][1]
=> octopus
puts animals[0][2]
=> shark
puts animals[1][0]
=> dog
puts animals[1][1]
=> cat
puts animals[1][2]
=> pig
puts animals[2][0]
=> crow
puts animals[2][1]
=> swan
puts animals[2][2]
=> eagle

さらに複雑な配列

構造が複雑になっても、同じような感じで取り出すことができます。

countries = [["Japan", "America"], [["Brazil", "Russia"],["China", "India"]]]

countriesという配列の中に2つの配列があり、
2つ目の配列の中にはさらにもう1つの配列が入っています。

puts countries[0]

<出力結果>
Japan
America
puts countries[1]

<出力結果>
Brazil
Russia
China
India
puts countries[1][0]

<出力結果>
Brazil
Russia

指定して全て出力したもの

puts countries[0][0]
=> Japan
puts countries[0][1]
=> America
puts countries[1][0][0]
=> Brazil
puts countries[1][0][1]
=> Russia
puts countries[1][1][0]
=> China
puts countries[1][1][1]
=> India

ここからさらに四重とかになったとしても、同様の記述で値を取り出せます。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?