「初めてのRuby」を読むの続き
今回は、
2章 配列とハッシュ
2.1 配列
■2章 配列とハッシュ
・配列とハッシュ
他のオブジェクトへの参照を貯めておくことが出来る
配列:他のオブジェクトへの参照を順番に並べた
ハッシュ:あるオブジェクトを他のオブジェクトへ対応
いずれもイテレーターメソッドを数多く提供
■2.1 配列
・配列:いくつかのオブジェクトへの参照を順に並べたもの
要素:個々のオブジェクト参照
→オブジェクトそのものではない
オブジェクト地震を更新すると、配列要素の値も変化
■2.1.1 配列の構築
・配列リテラル記法
要素をそのまま並べ、[]でくくる
c=[a,b,"3","文字列"]
・配列の要素は、同一の型である必要はない
・ネスとした配列も作成可能
■2.1.2 配列参照
・配列の要素は0で始まる番号で順番
→該当する要素がない添え字はnilを返す
・負の添字
末尾から逆順に要素を指す
c[-1] = c[c.length-1]
・長さ付き添字
位置と長さを指定 , で区切る
cが[1,"str",3,"文字列",nil]のとき
c[1,3] は、["str",3,"文字列"]
・範囲添字
範囲を..で指定、...だと、末端を含まない
c[0..1]は[1,"str"]
c[0...1]は[1]
■2.1.3 添字代入
・添字代入を使うと、配列の中身を変えられる
a[0] = 3
a[0,3]='a','b','c'
■2.1.4 配列の比較
・対応する要素が全て同値のとき、配列は同値(==)となります。
■2.1.5 様々なメソッド
・配列はそれ自体オブジェクト
・特定の値があるか? Array#include?
→?が付くと真偽値を返す
・重複要素uniqとuniq!
→!が付くと破壊的メソッド
■2.1.6 ブロック付きメソッドとイテレーター
ブロック付きメソッド
・イテレーター each
a={"a","b","c"}
a.each do |i|
print i + " "
end
・写像(map) map
a={"sat","sun","mon"}
s= a.map { |i| i[0,1] }
sは、{"s","s","m"}
・ソート sort
a.sort
数値に変換して比較するとき
a.sort{|x,y| x.to_i <=> y.to_i}
<=>は、本当は小文字(宇宙船演算子)
・選択 select
こんかいはこんなところ
今回は、
2章 配列とハッシュ
2.1 配列
■2章 配列とハッシュ
・配列とハッシュ
他のオブジェクトへの参照を貯めておくことが出来る
配列:他のオブジェクトへの参照を順番に並べた
ハッシュ:あるオブジェクトを他のオブジェクトへ対応
いずれもイテレーターメソッドを数多く提供
■2.1 配列
・配列:いくつかのオブジェクトへの参照を順に並べたもの
要素:個々のオブジェクト参照
→オブジェクトそのものではない
オブジェクト地震を更新すると、配列要素の値も変化
■2.1.1 配列の構築
・配列リテラル記法
要素をそのまま並べ、[]でくくる
c=[a,b,"3","文字列"]
・配列の要素は、同一の型である必要はない
・ネスとした配列も作成可能
■2.1.2 配列参照
・配列の要素は0で始まる番号で順番
→該当する要素がない添え字はnilを返す
・負の添字
末尾から逆順に要素を指す
c[-1] = c[c.length-1]
・長さ付き添字
位置と長さを指定 , で区切る
cが[1,"str",3,"文字列",nil]のとき
c[1,3] は、["str",3,"文字列"]
・範囲添字
範囲を..で指定、...だと、末端を含まない
c[0..1]は[1,"str"]
c[0...1]は[1]
■2.1.3 添字代入
・添字代入を使うと、配列の中身を変えられる
a[0] = 3
a[0,3]='a','b','c'
■2.1.4 配列の比較
・対応する要素が全て同値のとき、配列は同値(==)となります。
■2.1.5 様々なメソッド
・配列はそれ自体オブジェクト
・特定の値があるか? Array#include?
→?が付くと真偽値を返す
・重複要素uniqとuniq!
→!が付くと破壊的メソッド
■2.1.6 ブロック付きメソッドとイテレーター
ブロック付きメソッド
・イテレーター each
a={"a","b","c"}
a.each do |i|
print i + " "
end
・写像(map) map
a={"sat","sun","mon"}
s= a.map { |i| i[0,1] }
sは、{"s","s","m"}
・ソート sort
a.sort
数値に変換して比較するとき
a.sort{|x,y| x.to_i <=> y.to_i}
<=>は、本当は小文字(宇宙船演算子)
・選択 select
こんかいはこんなところ