Tbpgr Blog

Employee Experience Engineer tbpgr(てぃーびー) のブログ

Javaプログラマーが学ぶRuby基礎 | Rubyの配列

概要

Rubyの配列について。

配列

以下のように配列を宣言することができます。
ary = [要素1,要素2・・]
各要素は別のデータ型でも問題ありません。

サンプルコード

ary = [1,2,3,"一","二","三"]
puts ary

出力
1
2
3
一
二
三

要素の指定

個別の要素にアクセスする場合
ary[index]

ary.at(index)
と記述数する。
前者はJavaと同じなので馴染み深い。

サンプルコード

ary = [1,2,3,"一","二","三"]
p ary[0]
p ary.at(3)

出力
1
"一"

配列の長さの取得

以下のように記述すると長さを取得出来ます
ary.length
ary.size

同じ機能に対して2つの名前が用意してあるところがJavaにはない思想ですね。

配列の結合

配列1+配列2で配列の結合が可能です。

サンプルコード
ary1 = [1,2,3]
ary2 = ["","",""]
ary3 = ary1 + ary2
puts ary3.size
puts ary3
出力
6
1
2
3
一
二
三

配列の差演算

配列1-配列2で配列の差演算が可能です。
例えば配列から特定の要素のみ削除したい場合などに利用可能。

サンプルコード
ary1 = ['田中','鈴木','山田']
ary2 = ['田中']
ary3 = ary1 - ary2
puts "配列の差演算"
print ary1
puts 
print ary3
出力
配列の差演算
["田中", "鈴木", "山田"]
["鈴木", "山田"]

配列の積演算

ary1 & ary2で配列の重複要素のみで構成された配列を取得出来ます。

サンプルコード
ary1 = ['田中','鈴木','山田']
ary2 = ['田中','中川']
ary3 = ary1 & ary2
puts "配列の積演算"
print ary1
puts 
print ary2
puts 
print ary3
出力

配列の積演算
["田中", "鈴木", "山田"]
["田中", "中川"]
["田中"]

配列の和演算

ary1 | ary2で配列の要素を全て含む配列を取得出来ます。

サンプルコード
ary1 = ['田中','鈴木','山田']
ary2 = ['田中','中川']
ary3 = ary1 | ary2
puts "配列の和演算"
print ary1
puts 
print ary2
puts 
print ary3
出力
配列の和演算
["田中", "鈴木", "山田"]
["田中", "中川"]
["田中", "鈴木", "山田", "中川"]
要素の追加

以下のように記述すると一番最後に要素を追加出来ます
ary.push(new_date)
ary << new_date

サンプルコード
ary1 = ['田中','鈴木','山田']
puts "配列の要素追加"
print ary1
puts
ary1.push '橋下'
print ary1
puts
ary1 << '石原'
print ary1
出力
配列の要素追加
["田中", "鈴木", "山田"]
["田中", "鈴木", "山田", "橋下"]
["田中", "鈴木", "山田", "橋下", "石原"]

配列のソート

ary.sortで配列をソート出来ます。

サンプルコード
ary1 = ["はしもと",'いしはら','わたなべ','のだ']
puts "配列のソート"
print ary1
puts
print ary1.sort
出力
配列のソート
["はしもと", "いしはら", "わたなべ", "のだ"]
["いしはら", "のだ", "はしもと", "わたなべ"]