subtitle

RaiseTechの各種コースをはじめとしたイロイロな学習の記録

Rubyの文法(配列)

Rubyは型宣言しなくても使える。

配列の要素数もあらかじめ決めておく必要はない。(後から自由に追加できる)

下記の例だと、配列生成時には、array[10]は存在しないので、読出しても空っぽで、型もない。

array = [1,2,3,4,5]
puts "⇒ #{array}"
# 配列の宣言
# ⇒ [1, 2, 3, 4, 5]

array[2] = 0
puts "⇒ #{array}"
# [2]の要素を0に更新する
# ⇒ [1, 2, 0, 4, 5]

array << 100
puts "⇒ #{array}"
# 最終要素(値は100)を追加
# ⇒ [1, 2, 0, 4, 5, 100]

array.delete(0)
puts "⇒ #{array}"
# 配列の中の0の値を持つ要素を削除
# ⇒ [1, 2, 4, 5, 100]

array.insert(2, 3)
puts "⇒ #{array}"
# 要素[2]に値3を挿入
# ⇒ [1, 2, 3, 4, 5, 100]

puts "⇒ #{array[10]}"
# [10]の要素を指定
# 

puts "⇒ #{array[10].class}"
# [10]の要素の型
# NilClass



Rubyは配列の要素の型が異なっていても問題ない。

array.concat(array_mix)は、arrayそのものが書き換わる

array_mix = [0, "cats", 5.5]
puts "⇒ #{array_mix}"
puts "⇒ array_mix[0].class: #{array_mix[0].class}" 
puts "⇒ array_mix[1].class: #{array_mix[1].class}" 
puts "⇒ array_mix[2].class: #{array_mix[2].class}" 
# Rubyは型の異なる要素で生成可能
# ⇒ [0, "cats", 5.5]
# ⇒ array_mix[0].class: Integer
# ⇒ array_mix[1].class: String
# ⇒ array_mix[2].class: Float

temp = array.concat(array_mix)
puts "⇒ 結合結果:#{temp}"
puts "⇒ array: #{array}"
puts "⇒ array_mix: #{array_mix}"
# 配列の結合
# 結合結果:[1, 2, 3, 4, 5, 100, 0, "cats", 5.5]
# ⇒ array: [1, 2, 3, 4, 5, 100, 0, "cats", 5.5]
# ⇒ array_mix: [0, "cats", 5.5]

array[1] = array_mix
puts "⇒ array: #{array}"
# 配列の中に配列 array[1]をarray_mixで更新
# ⇒ array: [1, [0, "cats", 5.5], 3, 4, 5, 100, 0, "cats", 5.5]

array_message = ["I", "love", "cats", "!!"]
puts "元の配列: #{array_message} "
temp = array_message.join(' ')
puts "⇒ array_mix: #{temp}"
# 配列の文字列をくっつけてみる
# 元の配列: ["I", "love", "cats", "!!"]
# ⇒ array_mix: I love cats !!