Rubyさわってみたのでめも
Rubyさわってみて、なんとなく便利だと感じたことを書いてみます(^^;
- 配列
array = ["hoge", "fuga", 100] print array # => ["hoge", "fuga", 100]
文字列と数値を混ぜても問題ない
- 配列から変数に
array = ["hoge", "fuga", 100] var1, var2 = array print var1, ",", var2 # => hoge,fuga
配列を前から順に変数に代入してくれる。 わざわざ
var1 = array[0]
みたいに書かなくていい。 変数と配列の要素の数をあわせなくてもおk。
- 式展開
array = ["hoge", "fuga", 100] var1, var2 = array print "var1:#{var1}, var2:#{var2}" # => var1:hoge, var2:fuga
""の中で変数の値を
#{変数名}
で囲うと、値を展開してくれる。"var1:" + var1 + ", var2:" + var2
みたいに書かなくていい。
- for文:その1
for i in [1, "foo", "bar"] print "i:#{i}", " " end # => i:1 i:foo i:bar
配列の要素の数だけ繰り返し、要素の値がiに代入される。
for (i = 0; i < list.length; i++)
とかしなくていい。
- for文:その2
for k,v in { key1:"val1", key2:"val2"} print "k:#{k},v:#{v}", " " end # => k:key1,v:val1 k:key2,v:val2
キーと値のペアがそれぞれkとvに代入され、カンマ区切りの要素の数だけ繰り返す。 1回ループするごとに要素を取り出して・・・とかしなくていい
- 手続きオブジェクト
num = lambda { |x,y| return x + y }.(1,2) print"num:#{num}","\n" # => num:3
ブロックを実行して、結果を取得。 ブロックのメリットは、いろいろあって難しかった・・・ 個人的には、今のとこ匿名関数のように使えるので名前を気にしなくていいってとこくらい