ホワイの(感動的)Rubyガイドをなんとか読んだ。

ホワイの(感動的)Rubyガイドをなんとか6章まで読み通した。
本文が意味不明でかなり辛かった。
途中文は読み飛ばせば良い事に気がつき、なんとか最後までたどり着く事ができた。

せっかく読んだんでメモ。

文字列の扱い

"文字列" % [配列] 配列(もしくは単なる値)内の値を使って文字列を
フォーマットできる。値を差し込む場所に
%s, %d, %fなどを置く。
(Cのprintf の様な物)
"文字列" % 値 上に同じ
#{} 中の文字列を評価して結果を返す。
変数、if文、クラス定義など何でも可
%w{} 単語の配列を作る
%x{ command } シェルコマンドの実行
%q{} (%{}) ""と同じく文字列を保持するが、
改行もそのまま入れられる。
例)
"There are %d pens and %d erasers here." % [5, 3]
=> "There are 5 pens and 3 erasers here."

#{ 1 + 1 }
=> 2

%w{This is a pen}
=> ["This", "is", "a", "pen"]

%x{echo test}
=> "test\n"

エラー処理

raise エラーを投げる
rescue エラーを拾う
$!グローバル変数 一番最近発生した例外を保持
$@グローバス変数 その例外のバックとレースを保持
redo 今いるメソッドを最初からやり直す

配列を取る引数

引数名の頭に * を付けると、(複数)引数を配列として受け取る。例えば、整数を渡してもそれを配列に入れて保持する。すると、その引数に対しては、配列操作ができる事が保証される。

setAttr *att
  att.each do |value|
    puts value
  end
end

setAttr [1, 2, 3]
setAttr :a

この場合、*attr が、attrだと、setAttr :a でエラーになる。