卜部です。

URABE Shyouhei aka.mput wrote:

> 卜部です。以下のコードでfoldl_cだけ結果が異なるのは何故ですか?
> http://mput.dip.jp/mput/p20050604.txt


関連して笹田さんが以下の現象を発見してくれました。

def m1 a, &b
  x = yield(a)
  iter(x, &b)
end

def m2 a, &b
  iter(yield(a), &b)
end

def iter x
  p yield(x)
end

m1(10){|x|
  x * x
}
m2(10){|x|
  x * x
}

# t.rb:8:in `m2': no block given (LocalJumpError)