[#43284] [Ruby 1.9 - Bug #4456] [Open] Time#strftime で %F 指定子に大きな幅を指定した際の不具合 — tadayoshi funaba <redmine@...>

14 messages 2011/03/02

[#43317] [Ruby 1.9 - Bug #4474][Open] 複数のスレッドからトランザクションに入ろうとした場合のPStoreの挙動 — Masaki Matsushita <redmine@...>

9 messages 2011/03/06

[#43327] [Ruby 1.9 - Feature #4483][Open] PStoreをデフォルトで複数のスレッドから扱えるようにしたい — Masaki Matsushita <redmine@...>

10 messages 2011/03/08

[#43365] [Ruby 1.9 - Bug #4536][Open] 定数参照について1.8と1.9の違い — Yukihiro Matsumoto <matz@...>

11 messages 2011/03/29

[ruby-dev:43366] Re: [ruby-dev:43365] [Ruby 1.9 - Bug #4536][Open] 定数参照について1.8と1.9の違い

From: SASADA Koichi <ko1@...>
Date: 2011-03-29 08:55:46 UTC
List: ruby-dev #43366
 ささだです.

(2011/03/29 17:41), Yukihiro Matsumoto wrote:
> 以下のプログラムは1.8ではエラーになりますが、1.9ではエラーを
> 示さず動作します。定数参照は(できるだけ)静的スコープで、とい
> う設計方針に従えば、1.8の方が正しいと思います。
> 
> どうやって直したら良いと思いますか? あるいは直さずに今後は
> 1.9的挙動が正としますか?
> 
> module A
>   B = 42
> end
> 
> A.class_eval do
>   def self.f
>     p B
>   end
> end
> 
> A.f


module A; B = 42; end
A.class_eval{p B}
#=> `block in <main>': uninitialized constant Module::B (NameError)

なので,それが動くのはまずいかもしれませんね.少し考えさせてください.

# しかし,なんで Module::B なんだ.

-- 
// SASADA Koichi at atdot dot net

In This Thread