Ruby勉強

インターネットの企画職な人がプログラミングを勉強するブログ

Rubyブロック#3 - Silver/Gold試験対策

rubyのブロックはクロージャである ブロック外の変数nを参照したり代入できる。(defメソッドなどではできない)

n = 10
100.times{
  n += 10
}
puts n

カリー化。引数を最初から耳揃えて渡さなくても良いことになる。

bar = ->(fuga, hoge){hoge+fuga}.curry

p %w(Alpha Bravo Charlie).map(&bar.('ist'))

Proc#===も存在するので case式での評価にも使われる

fuga = ->str{str=="a"}
str = "a"

case str
when str
  puts "strはaです"
end