次のように、f { ... } と f() { ... } で、caller から得られる行番号が異 なるのですが、これは意図されているのでしょうか。 % ruby -ve ' s1 = "f {\n}" s2 = "f() {\n}" def f(&block) p caller[0] end eval(s1) eval(s2)' ruby 1.9.0 (2004-01-12) [i686-linux] "(eval):2" "(eval):1" -- [田中 哲][たなか あきら][Tanaka Akira]