Ruby Koans で学ぶ Array
Arrayについて
配列は何度かさわったことあるので、だいたい・・大丈夫・・・たぶん。。
配列のslicing(部分配列)について
大体思って通りだったんだけど、1カ所だけ。。(sliceは[]の別名)
- 配列の開始indexが配列サイズより大きい場合、nilが返る
- 配列の開始indexが配列サイズと一致する場合、空配列が返る
irb > array = [:peanut, :butter, :and, :jelly] irb > array.size => 4 irb > array[4,0] => [] irb > array[5,0] => nil
配列への代入
複数代入
カンマ区切りで順番に代入
first_name, last_name = ["John", "Smith", "III"] assert_equal "John", first_name assert_equal "Smith", last_name
アスタリスク (*) が付くと、残りの配列が全て代入される
first_name, *last_name = ["John", "Smith", "III"] assert_equal "John", first_name assert_equal ["Smith", "III"], last_name
変数の値を入れ替え
コレ知らなかった!
first_name = "Roy" last_name = "Rob" first_name, last_name = last_name, first_name assert_equal "Rob", first_name assert_equal "Roy", last_name
tmp無しで入れ替え出来るんだ。すごいな〜♪