たのしいRuby第3版を読んで忘れてたこととか

たのしいRuby 第3版

たのしいRuby 第3版

Ruby会議でなんども”Joyful Ruby”の字幕とともにこの本が出てきたので第2版はもってるけど買うことにした。
忘れてたこととか、知らなかったことをメモ

print,putsには引数がいくつも渡せる

print "hello ", "ruby" #=> helloruby

文字列をシンボルにできる

"foo".intern #=> :foo

Class A を継承したクラスを1行で作る

Class.new(A)

catchとthrow

知らなかった…

catch(:foo) do
  loop do
    loop do
      throw :foo "でた"
    end
  end
end #=> でた

Rationalオブジェクト, Complexオブジェクト

分数や複素数が表現できる(1.9から標準)

1.5.to_r #=> (3/2)
1.5.to_c #=> (1.5+0i)

ハッシュの作り方(1.9)

(1.9からはordered hashになってるらしい)

{a: "b", c: "d"} #=> {:a=>"b",:c=>"d"}

Hash#fetch

キーが登録されてないときの値を指定できる

a = {}
a.fetch("key","no_data") #=> "no_data"