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

ruby-reference-manual:3189

From: "pypypy567 (py _)" <redmine@r...>
Date: Wed, 22 Aug 2012 17:46:54 +0900
Subject: [ruby-reference-manual:3189] [るりまプロジェクト - Bug #6905][Open] UnboundMethod#bind の説明が古い


Issue #6905 has been reported by pypypy567 (py _).

----------------------------------------
Bug #6905: UnboundMethod#bind の説明が古い
https://bugs.ruby-lang.org/issues/6905

Author: pypypy567 (py _)
Status: Open
Priority: Normal
Assignee: 
Category: 
Target version: 
reporter: 
ruby_version: 


http://doc.ruby-lang.org/ja/1.9.3/method/UnboundMethod/i/bind.html
UnboundMethod#bind の説明は全体的に見直しが必要なようです。
bind 出来るための制限が緩くなっています。

ソースは読めないのでいろいろ試してみた結果ですが
・現バージョンのコメントにも書いてあるように作成元のクラスのサブクラスのインスタンスにも bind 出来るようになった
・「同名の特異メソッドが定義されているとダメ」という制限は(多分 1.8.1 から)無くなった
・そのケースで 1.8.4 だけ inspect がおかしい
・inspect の表記が若干変わってる場合がある


あと1.8系は super 絡みでバグがあるようです。

class A
  def foo
    puts 'A'
  end
end
module B
  def foo
    print 'B '
    super
  end
end
class C < A
  include B
end
C.new.foo
B.instance_method(:foo).bind(C.new).call  # 1.8.2 あたりからおかしい



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

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

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

->    3189 2012-08-22 10:46 [redmine@r...        ] [るりまプロジェクト - Bug #6905][Open] UnboundMethod#bind の説明が古い
      3274 2012-09-10 18:39 ┗[redmine@r...        ] [るりまプロジェクト - Bug #6905] UnboundMethod#bind の説明が古い