[#386100] Numeric#coerce docs are disaster — 7stud -- <bbxx789_05ss@...>

num.coerce(numeric) =E2=86=92 array

14 messages 2011/08/02

[#386114] Documentation Improvement Proposal — Chris White <cwprogram@...>

=3D Issues =3D

24 messages 2011/08/02
[#386115] Re: Documentation Improvement Proposal — Steve Klabnik <steve@...> 2011/08/02

I reeeeeealy dislike user comments on documentation. It's one of the

[#386117] Re: Documentation Improvement Proposal — Phillip Gawlowski <cmdjackryan@...> 2011/08/02

On Tue, Aug 2, 2011 at 7:39 PM, Steve Klabnik <steve@steveklabnik.com> wrot=

[#386118] Re: Documentation Improvement Proposal — Steve Klabnik <steve@...> 2011/08/02

> What's wrong with stealing WikiPedia's procedures? The model works

[#386119] Re: Documentation Improvement Proposal — Chris White <cwprogram@...> 2011/08/02

On Aug 2, 2011, at 11:00 AM, Steve Klabnik wrote:

[#386123] Re: Documentation Improvement Proposal — Steve Klabnik <steve@...> 2011/08/02

Apologies, I've just responded to everyone in-line.

[#386231] Brainstorming ideas how to improve Ruby's documentation — Marc Heiler <shevegen@...>

The title is misleading...

42 messages 2011/08/05
[#386233] Re: Brainstorming ideas how to improve Ruby's documentation — "Fred L." <f.linard@...> 2011/08/05

Hello,

[#386235] Re: Brainstorming ideas how to improve Ruby's documentation — Alexander Litvinovsky <alexander.litvinovsky@...> 2011/08/05

What are you talking about? Ruby has a nice docs, railsapi.com for example.

[#386297] Help out with the next version of ruby-lang.org — Magnus Holm <judofyr@...>

https://github.com/rubylang/ruby-lang.org

11 messages 2011/08/07

[#386341] Exceptional Ruby and Metaprogramming Ruby has anyone picked these up? — Kevin <darkintent@...>

I'm thinking of picking up these two books and was wondering if anyone

11 messages 2011/08/09

[#386378] ruby installation — "Momodou J." <modou75alieu@...>

how to implement this in windows :

16 messages 2011/08/09

[#386401] *WHY* does this not work? — serialhex <serialhex@...>

ok, so code:

23 messages 2011/08/09
[#386403] Re: *WHY* does this not work? — "Darryl L. Pierce" <mcpierce@...> 2011/08/09

On Wed, Aug 10, 2011 at 03:52:59AM +0900, serialhex wrote:

[#386404] Re: *WHY* does this not work? — serialhex <serialhex@...> 2011/08/09

On Tue, Aug 9, 2011 at 3:05 PM, Darryl L. Pierce <mcpierce@gmail.com> wrote:

[#386480] Odd regexp behavior — Glen Holcomb <damnbigman@...>

I'm running 1.9.2-p180

16 messages 2011/08/10

[#386506] Distributing Ruby program as a standalone executable (exe) for windows — Michelle Pace <michelle@...>

Hello there,

10 messages 2011/08/11

[#386539] Online tutor for Ruby — T J Pereira <tj5155@...>

I am finding it difficult to apply the RUBY program. Its because i have

18 messages 2011/08/12
[#386541] Re: Online tutor for Ruby — Phillip Gawlowski <cmdjackryan@...> 2011/08/12

On Fri, Aug 12, 2011 at 6:00 AM, T J Pereira <tj5155@tm.net.my> wrote:

[#386637] class inheritance and class constants — Iñaki Baz Castillo <ibc@...>

------------------------

16 messages 2011/08/14

[#386784] Green Shoes v1.0 released — ashbb <ashbbb@...>

Hello, everyone.

15 messages 2011/08/18
[#392062] Re: Green Shoes v1.0 released — Barry Yu <yubarry@...> 2012/01/09

why do I get this error?

[#386796] Searching in a directory — Yu Yu <htwoo@...>

Hello,

21 messages 2011/08/18

[#386893] Gritty Details of super() — luke gruber <luke.gru@...>

Hey guys,

18 messages 2011/08/21

[#386900] Possble bug in Ruby parser (Fixnum#times within "case" statement) — Iñaki Baz Castillo <ibc@...>

Hi, I cannot find an explanation for the following issue so I think it's a =

15 messages 2011/08/21
[#386901] Re: Possble bug in Ruby parser (Fixnum#times within "case" statement) — Ryan Davis <ryand-ruby@...> 2011/08/21

[#386903] Re: Possble bug in Ruby parser (Fixnum#times within "case" statement) — Iñaki Baz Castillo <ibc@...> 2011/08/21

2011/8/22 Ryan Davis <ryand-ruby@zenspider.com>:

[#386920] New to Ruby some problems — jack jones <shehio_22@...>

I am new to Ruby, My mother tongue is C++ .. I have too many problems I

21 messages 2011/08/22

[#386949] Want to get involved with this doc stuff? I'm making it even easier — Steve Klabnik <steve@...>

Hey guys-

9 messages 2011/08/22

[#387058] How the access the values of this result — QAS WM <qaiserwali@...>

I am getting the following as a result of a script I run.

11 messages 2011/08/26

[#387070] overloading methods question please? — jack jones <shehio_22@...>

def do_something(a as Array)

11 messages 2011/08/26

[#387138] String#split resets regex captures variables (Ruby 1.8.7) — Olivier Lance <bestiol@...>

Hi,

10 messages 2011/08/29

[#387196] SAMSUNG to produce "Ruby on Rails in Silicon" System on a Chip — Ilias Lazaridis <ilias@...>

(public draft)

9 messages 2011/08/31

[#387197] Prepend a character to a string in ruby — ruby rails <rubyonrails4me@...>

Hi,

10 messages 2011/08/31

[#387212] GUI programming — Samuel Mensah <sasogeek@...>

Is ruby GUI programming something that will come along as I study ruby

19 messages 2011/08/31
[#387230] Re: GUI programming — Alexey Petrushin <axyd80@...> 2011/08/31

I believe right now it's better to stay with console, there's no Ruby

Re: Gritty Details of super()

From: 7stud -- <bbxx789_05ss@...>
Date: 2011-08-23 01:46:03 UTC
List: ruby-talk #386953
luke gruber wrote in post #1017884:
>> The question is: Why isn't M's singleton class inserted into the
>> singleton class hierarchy?
>>
>> As to why that is?  I have no idea.  Things would be nice and
>> symmetrical if a module's singleton class did get inserted in the
>> singleton class hierarchy.
>>
>> (The method lookup diagrams were copied from Metaprogramming Ruby.)
>
>>7stud
>
> Thanks 7stud, that was exactly what I was trying to get at.
> The confusion I have with the current approach is this:
>
> If Ruby wanted us to forget about the whole anonymous superclass
> proxying the module on inclusion or extension, then in order for the
> module (which, in our mental makeup in this case is right above the
> class that included/extended the module), it would make the most sense
> for singleton methods called on our class to resolve/lookup the module's
> singleton methods upon a method_missing or super or whatever.
>
> However, this is not the case as we all know.
>
> So OK, maybe Ruby wants us to KNOW about the anonymous superclass that
> is proxying the module, and for this to not only be an implementation
> feature/hack, but a feature of the language that we can put in our
> mental model of method lookup. But if we put this in our mental model,
> then a couple of problems arise for me.
>
> First, ::ancestors. ::ancestors shows the module name, which is nice,
> but crumples our mental model a bit as it should show the anon
> superclass if our mental model was changed.

I don't think changing the name 'M' to 'anon-M', or even worse: "", 
would make much difference.  You just have to know that superclass() 
doesn't return included modules, and ancestors does.

> The second
> problem/misunderstanding for me is that the anonymous superclass that
> proxies the module (ASCTPTM...hehe)
> does not proxy the singleton methods of the module.
>

I think you aren't making the correct distinction here: there are two 
classes not one.  When you include a module, ruby creates an anonymous 
class containing the module's instance methods, which are defined like 
this:

module M
  def eat
     puts 'munch, munch'
  end
end


...and ruby also creates a singleton class containing the module's 
singleton methods, which are defined like this:

module M
  M.greet
    puts 'MMMM'
  end
end


In all situations in ruby, the singleton methods are not in the same 
class as the instance methods.  For instance, if you do this:


class Dog
  def Dog.greet
    puts 'hello'
  end

  def speak
    puts 'woof, woof'
  end
end

That doesn't create just one class.  ruby creates two classes: Dog and 
#Dog, which are in two different lookup hierarchies--as the lookup 
diagram shows.  Therefore, your statement here:

> the anonymous superclass that
> proxies the module (ASCTPTM...hehe)
> does not proxy the singleton methods of the module.

is non-sensical because a regular class (or an anonymous class) never 
contains the singleton methods.


This stuff isn't easy to understand, but you can make some sense of 
things.   However, I find the following totally unhelpful:


> Care must be taken not to confuse inheritance hierarchies: there are
> two of them as 7stud has shown with the ASCII graphic.  Including a
> module in a class inserts it into its chain of ancestors, but has no
> effect on the inheritance hierarchy of the class's singleton class:
>
> Basic class:
>
> irb(main):001:0> class C;end
> => nil
> irb(main):002:0> C.ancestors
> => [C, Object, Kernel, BasicObject]
> irb(main):003:0> sc = class <<C;self;end
> => #<Class:C>
> irb(main):004:0> sc.ancestors
> => [Class, Module, Object, Kernel, BasicObject]
>

Note that sc.ancestors does not list any of the singleton classes as 
detailed in the lookup diagram.


> With module included:
>
> irb(main):005:0> module M;end
> => nil
> irb(main):006:0> class C;include M;end
> => C
> irb(main):007:0> C.ancestors
> => [C, M, Object, Kernel, BasicObject]
> irb(main):008:0> sc.ancestors
> => [Class, Module, Object, Kernel, BasicObject]


So how does that result prove that including a module does nothing to 
the lookup diagram?  sc.ancestors never listed the singleton classes in 
the first place, and after including the module sc.ancestors still 
doesn't list the singleton classes.

-- 
Posted via http://www.ruby-forum.com/.

In This Thread