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 !!