[lnkForumImage]
TotalShareware - Download Free Software

Confronta i prezzi di migliaia di prodotti.
Asp Forum
 Home | Login | Register | Search 


 

Forums >

comp.lang.ruby

super.index gives error

MohsinHijazee

2/19/2008 10:32:00 AM

Hello!
I'm having a strange problem.

class Super

def index
puts "some code"
end
end

class Base < Super

def index
super.index() # Says you super is nil! nil.index and an
error. What might be wrong?
end
end
2 Answers

Arlen Cuss

2/19/2008 10:39:00 AM

0

[Note: parts of this message were removed to make it a legal post.]

Hi:

On Feb 19, 2008 9:34 PM, MohsinHijazee <mohsinhijazee@gmail.com> wrote:

> Hello!
> I'm having a strange problem.
>
> class Super
>
> def index
> puts "some code"
> end
> end
>
> class Base < Super
>
> def index
> super.index() # Says you super is nil! nil.index and an
> error. What might be wrong?
> end
> end
>
>
irb(main):001:0> class Super
irb(main):002:1> def index
irb(main):003:2> puts "some code"
irb(main):004:2> end
irb(main):005:1> end
=> nil
irb(main):006:0> class Sub < Super
irb(main):007:1> def index
irb(main):008:2> super
irb(main):009:2> end
irb(main):010:1> end
=> nil
irb(main):011:0> Sub.new.index
some code
=> nil
irb(main):012:0>

Technically, Super is also the `base' class, so I named it Sub. Just use
`super' -- super calls the method of the same name in the superclass.

HTH
Arlen

MohsinHijazee

2/19/2008 10:49:00 AM

0

On Feb 19, 3:38 pm, Arlen Cuss <cel...@sairyx.org> wrote:
> [Note: parts of this message were removed to make it a legal post.]
>
> Hi:
>
> On Feb 19, 2008 9:34 PM, MohsinHijazee <mohsinhija...@gmail.com> wrote:
>
>
>
> > Hello!
> > I'm having a strange problem.
>
> > class Super
>
> > def index
> > puts "some code"
> > end
> > end
>
> > class Base < Super
>
> > def index
> > super.index() # Says you super is nil! nil.index and an
> > error. What might be wrong?
> > end
> > end
>
> irb(main):001:0> class Super
> irb(main):002:1> def index
> irb(main):003:2> puts "some code"
> irb(main):004:2> end
> irb(main):005:1> end
> => nil
> irb(main):006:0> class Sub < Super
> irb(main):007:1> def index
> irb(main):008:2> super
> irb(main):009:2> end
> irb(main):010:1> end
> => nil
> irb(main):011:0> Sub.new.index
> some code
> => nil
> irb(main):012:0>
>
> Technically, Super is also the `base' class, so I named it Sub. Just use
> `super' -- super calls the method of the same name in the superclass.
>
> HTH
> Arlen

Thank you very much! The problem is solved