配列
基本
=begin
配列の基本
=end
# 配列の定義
list = ["100", "200", "300"]
# 配列の出力
print "#{list[0]}\n" # => 100を出力
print "#{list[1]}\n" # => 200を出力
print "#{list[2]}\n" # => 300を出力
配列を展開
=begin
配列の展開
=end
# 配列の定義
list = ["100", "200", "300"]
# 配列の出力
p list # ["100", "200", "300"]と出力
p *list # 100、200、300をそれぞれ出力
結果
# ruby sample02.rb
["100", "200", "300"]
"100"
"200"
"300"
p list => p ["100", "200", "300"] となるが
アスタリスク(*)を配列変数の前に付加することで
p *list => p "100", "200", "300" となります
配列の部分取得
=begin
配列の部分取得
=end
# 配列の定義
list = ["100", "200", "300"]
# 配列の出力
p "-init data-------------------------"
p *list
p ""
# 部分配列取得
p "-change data-----------------------"
list2 = list.slice(0, 2)
p *list # "100", "200", "300"
p ""
p *list2 # "100", "200"
p ""
# 破壊的メソッド使用
p "-change data-----------------------"
list3 = list.slice!(0, 2)
p *list # "300"
p ""
p *list3 # "100", "200"
p ""
配列の要素の追加
=begin
配列の要素の追加
=end
# 配列の定義
list = []
# 要素の追加
list << "100"
list << "200"
list << "300"
# 要素の値変更
list[1] = "999"
# 配列の出力
p *list # => "100", "999", "300"
配列をソート
=begin
配列のソート
=end
# 配列の定義
list = [] # 空の配列を用意
# 値の設定
list << 10
list << 99
list << 30
# 配列の出力
p *list
# ソート
slist = list.sort
# 配列の出力
p *slist
p "-----------------------"
#破壊的メソッドによるソート
slist = list.sort!
p *list
p *slist
配列を結合
=begin
配列の結合
=end
# 配列の定義
list = ["100", "200", "300"]
# +による配列の結合
alist = list + ["400", "500"]
# 結果表示
p *alist
p "---------------------------------"
list.concat(["800", "900"])
# 結果表示
p *list
配列内のデータを検索
=begin
配列の要素検索
=end
# 配列の定義
list = ["100", "200", "300"]
# 要素の出力
p list.index("100");
p list.index("300");
p list.index("400");
配列の重複データを削除
=begin
配列の重複する値の削除
=end
# 配列の定義
list = []
list << "100"
list << "100"
list << "300"
p *list
# 重複の削除
ulist = list.uniq
p *ulist
配列の繰り返し
=begin
配列の繰り返し
=end
# 配列の定義
list = ["100", "200", "300", [40, 50]]
# 繰り返しブロックで出力
list.each {|x|
p x
}
最終更新:2011年08月01日 11:56