感謝のプログラミング 10000時間

たどり着いた結果(さき)は、感謝でした。

Rubyで配列の末尾から要素を探す

スポンサーリンク

Rubyの配列が持っているのはオブジェクトの"参照"である。
参照先の値が変われば、配列の持っているオブジェクトも変わる。
なぜなら、それは"参照"だから。

str = "hoge"
p array = [str,str] #["hoge", "hoge"]

str[1] = "a" #["hage", "hage"]

p array

配列の要素は同一の型である必要はない。
配列の要素は0から始まる番号で順序付けされていて、
その番号と添字参照演算子[]を用いることで、参照先のオブジェクトにアクセスできる。

a = 1
b = "fuga"

array = [a,b,5,"yahoo"]


p array[0] #1
p array[2] #5
p array[3] #yahoo

配列の末尾からアクセスするには、負の数で添字を書けばいい。

a = 1
b = "fuga"

array = [a,b,5,"yahoo"]


p array[-1] #yahoo
p array[-2] #5
p array[-3] #fuga

配列のイテレータ

a = 1
b = "fuga"

array = [a,b,5,"yahoo"]

array.each do |item|
	puts item
end

array.each_with_index do |item, index|
	p [item, index]
end
1
fuga
5
yahoo
[1, 0]
["fuga", 1]
[5, 2]
["yahoo", 3]
[Finished in 0.9s]

配列の各々の要素に何か処理を行って、その結果を配列にまとめたい場合はどうしたらいいだろうか?
それにはmapを使うといい。

array = [10,20,30,40]

ten_plus = array.map{|val| val + 100}

p ten_plus #[110, 120, 130, 140]

strs = ["I ","You ","he "]

loves = strs.map{|sentence| sentence + "loves me!"}

p loves #["I loves me!", "You loves me!", "he loves me!"]