#1119: Object initalize with a variable length argument shows up as a public method ------------------------------------------+--------------------------------- Reporter: smorss@… | Owner: lsansonetti@… Type: defect | Status: new Priority: blocker | Milestone: Component: MacRuby | Keywords: ------------------------------------------+--------------------------------- I am running MacRuby 0.8. If I create a class with an initialize method that takes a variable length argument: class XX ; def initialize (*x) ; end ; end then "XX.new.methods" includes :initialize (to test this, try it in its own file or a new macirb session, so there are no other classes defined). initialize should not show up as a public method. If I try to call the method (e.g. "XX.new.initialize"), it has the proper behavior (says it can't, because initialize is private). If I create another XX instance, but pass a parameter, e.g. "XX.new(1).methods", :initialize goes away. If I call "XX.new.methods" again, :initialize is no longer there as well (feels like a Ruby class initialization problem). If I start from scratch and run the same line twice in the same session: class XX ; def initialize (*x) ; end ; end class XX ; def initialize (*x) ; end ; end then "XX.new.methods" no longer contains the initialize method (has the correct behavior). -- Ticket URL: <http://www.macruby.org/trac/ticket/1119> MacRuby <http://macruby.org/>