[前][次][番号順一覧][スレッド一覧]

ruby-reference-manual:3240

From: "sho-h (Sho Hashimoto)" <sho-h@n...>
Date: Sat, 1 Sep 2012 14:46:02 +0900
Subject: [ruby-reference-manual:3240] [るりまプロジェクト - Bug #6926][Closed] Module#remove_const の制約(が無くなってることについて)


Issue #6926 has been updated by sho-h (Sho Hashimoto).

Status changed from Open to Closed
Assignee set to sho-h (Sho Hashimoto)
% Done changed from 0 to 100

本体の英語ドキュメントでもずっとるりまみたいな状態だったようですが、r29519 で修正されたみたいですね。1.9.3 から正しくなってるみたいです。

ソースを確認したところ、autoload についても autoload_delete(mod, id); が呼ばれているのでご指摘の通りみたいですね。

r5355 で修正しました。
----------------------------------------
Bug #6926: Module#remove_const の制約(が無くなってることについて)
https://bugs.ruby-lang.org/issues/6926#change-29126

Author: pypypy567 (py _)
Status: Closed
Priority: Normal
Assignee: sho-h (Sho Hashimoto)
Category: 
Target version: 
reporter: 
ruby_version: 


http://doc.ruby-lang.org/ja/1.9.3/method/Module/i/remove_const.html
> 現在のところ組み込みクラス/モジュールを設定している定数や Kernel.#autoload を指定した(まだロードしてない)定数を削除できないという制約があります。 

と有りますが 1.8.0 の時点で既に Array とか消せるみたいです。
$ ruby -ve "class Object; p remove_const(:Array); end"
ruby 1.8.0 (2003-08-04) [i386-mswin32]
Array

なんか autoload も消せるような気がしますがそっちの挙動については詳しくないのでパス。
$ ruby -ve "class C; autoload(:M, 'dummy'); p autoload?(:M); remove_const(:M); p autoload?(:M); end"
ruby 1.8.0 (2003-08-04) [i386-mswin32]
"dummy"
nil



-- 
http://bugs.ruby-lang.org/

--
ML: ruby-reference-manual@m...
Info: http://QuickML.com/

[前][次][番号順一覧][スレッド一覧]

      3216 2012-08-25 10:07 [redmine@r...        ] [るりまプロジェクト - Bug #6926][Open] Module#remove_const の制約(が無くなってることについて)
->    3240 2012-09-01 07:46 ┗[sho-h@n...          ] [るりまプロジェクト - Bug #6926][Closed] Module#remove_const の制約(が無くなってることについて)