[前][次][番号順一覧][スレッド一覧][生データ]

yarv-dev:729

From: SASADA Koichi <ko1 atdot.net>
Date: Wed, 28 Dec 2005 11:04:55 +0900
Subject: [yarv-dev:729] fixed> Re: open> super in define_method in sclass

 ささだです。

Minero Aoki wrote:
> [ruby-core:03856] と同じコードで落ちました。
> 
> ~/c/yarv % cat t
> class X
>   def a
>   end
>   def b
>     class << self
>       define_method(:a) {
>         super
>       }
>     end
>   end
> end
> 
> x = X.new
> x.b
> x.a
> 

 対応しました。なんというか、とても嫌な感じですね。define_method の中で
zsuper をするのは勘弁してもらいたいところではあります。



 ところで、手元の ruby 1.9.0 (2005-11-18) では

      class C
        def m *args
          "C#m(#{args.join(",")})"
        end
        def b
          class << self
            define_method(:m){|a, b|
              1.times{
                p super
              }
            }
          end
          self
        end
      end
      C.new.b.m(:ok1, :ok2)

は SEGV するんですが、もう直ってますか?

-- 
// SASADA Koichi at atdot dot net


-- 
ML: yarv-dev quickml.atdot.net
使い方: http://www.atdot.net/~ko1/quickml

[前][次][番号順一覧][スレッド一覧][生データ]

       704 2005-12-26 03:03 [aamine loveruby.net ] open> super in define_method in sclass  
->     729 2005-12-28 11:04 ┗[ko1 atdot.net       ] fixed> Re: open> super in define_method in sclass
       807 2006-02-04 18:07  ┗[aamine loveruby.net ] close> Re: super in define_method in sclass