[#5524] Division weirdness in 1.9 — "Florian Frank" <flori@...>
Hi,
[#5536] bug in variable assignment — Mauricio Fern疣dez <mfp@...>
Hi,
On Mon, Aug 08, 2005 at 11:36:22AM +0900, nobuyoshi nakada wrote:
hi,
Hi,
[#5552] Exceptions in threads all get converted to a TypeError — Paul van Tilburg <paul@...>
Hey all,
[#5563] Non-overridable and non-redefinable methods — Eric Mahurin <eric_mahurin@...>
Lately, I've been thinking about the future of ruby
On 8/19/05, Eric Mahurin <eric_mahurin@yahoo.com> wrote:
--- Austin Ziegler <halostatue@gmail.com> wrote:
Just wanted to add a few things.
On 8/19/05, TRANS <transfire@gmail.com> wrote:
Hi --
--- "David A. Black" <dblack@wobblini.net> wrote:
On 8/20/05, Eric Mahurin <eric_mahurin@yahoo.com> wrote:
On 8/20/05, TRANS <transfire@gmail.com> wrote:
On 8/19/05, Eric Mahurin <eric_mahurin@yahoo.com> wrote:
--- Austin Ziegler <halostatue@gmail.com> wrote:
On 20 Aug 2005, at 02:05, Eric Mahurin wrote:
Eric Hodel wrote:
Eric Mahurin wrote:
Hi,
--- SASADA Koichi <ko1@atdot.net> wrote:
Hi,
--- SASADA Koichi <ko1@atdot.net> wrote:
[#5609] Pathname#walk for traversing path nodes (patch) — ES <ruby-ml@...>
Here is a small addition to Pathname against 1.9, probably suited
Evan Webb wrote:
In article <43094510.6090406@magical-cat.org>,
[#5651] File.extname edge case bug? — Daniel Berger <Daniel.Berger@...>
Hi all,
[#5662] Postgrey — Shugo Maeda <shugo@...>
Hi,
[#5676] uri test failures. (Re: [ruby-cvs] ruby/lib, ruby/lib/uri: Lovely RDOC patches from mathew (metaATpoboxDOTcom) on URI/* and getoptlong.rb) — Tanaka Akira <akr@...17n.org>
In article <20050824050801.5B4E0C671F@lithium.ruby-lang.org>,
[#5680] Problem with mkmf and spaces in directory names? — noreply@...
Bugs item #2308, was opened at 2005-08-25 13:42
[#5685] Wilderness Project — "Charles E. Thornton" <ruby-core@...>
OK - I see where ELTS_SHARED is used to implement COPY-ON-WRITE
Re: Non-overridable and non-redefinable methods
--- "David A. Black" <dblack@wobblini.net> wrote: > Hi -- > > On Sat, 20 Aug 2005, Austin Ziegler wrote: > > > On 8/19/05, TRANS <transfire@gmail.com> wrote: > >> Just wanted to add a few things. > >> > >> 1) If we get local instance methods, it might lessen the > necessity, > >> since they are not visible to the hierarchy chain, and > thus can't be > >> overridden. Granted it's not the same but it should > alleviate some use > >> cases. > > > > What do you mean by "local instance methods"? > > I think that means: > > class C > def x > 1 > end > > localized :x # or whatever > > def y > x > end > end > > class D < C > def x > 2 > end > end > > D.new.y # 1 (because it calls the 'local' def. of x > > or something like that. I've probably misrepresented it > slightly. This would be a nice feature to have and would probably be a better thing to use rather than "private", but I don't think it really helps from an optimization standpoint. I would assume C#x could still be redefined at some point so you couldn't easily inline it. Using the same private/protected/public/localized way for tagging methods, here is what I'm talking about: class C def a; "a"; end # can't be redefined freeze_method :a def b; "b"; end # can't be overriden in derived classes # should also imply that you can't redefine final :b end class C # error - trying to redefine def a; "redefine-a"; end # error - trying to redefine def b; "redefine-c"; end # no problem def c; "add-c"; end end class D < C # no problem - C#a is left in tact def a; "derived-a"; end # error - trying to override #b def b; "derived-b"; end end c = C.new class << c # no problem - C#a is left in tact # we are operating on an anonymous meta class at this point # c effectively has a new class - its meta class def a; "meta-a"; end # error - trying to override #b # the meta class is a derived class of C def b; "meta-b"; end end Having the ability to prevent methods from being redefined is really just a subset of what Class#freeze does. Having the ability to prevent methods from being overridden is new and at least useful in a few methods in Object. ____________________________________________________ Start your day with Yahoo! - make it your home page http://www.yahoo.com/r/hs