37th-2

というか、yieldがわかんない。
初めてのRubyのサンプルはかいてみた。

def foo_bar_baz
  yield "foo"
  yield "bar"
  yield "baz"
end

foo_bar_baz do |item|
  puts item
end

これは何となく分かる。
でも、昨日のは

  def [] = (key, value)
    replace(key) {|old_value| value}
  end

  def replace(key)
    tuple = @ts.take([name, key, nil])
    tuple[2] = yield(tuple[2])
  ensure
    @ts.write(tuple) if tuple
  end

yieldされてかえってくるのは、value?なんだったけ?
old_valueってなんだっけ?
こういうときはどうやって確認してけば理解できるんだろう。
もうすこし悩んでみよう。