配列

基本

=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