Let’s say I have two constants
a = Integer
b = Numeric
Does anyone have any idea how to see if ‘a’ is a subclass of ‘b’
WITHOUT creating an object of class ‘a’?
_Kevin
Let’s say I have two constants
a = Integer
b = Numeric
Does anyone have any idea how to see if ‘a’ is a subclass of ‘b’
WITHOUT creating an object of class ‘a’?
_Kevin
(Class).superclass should do it.
Example:
if a.superclass == b
puts “Yes.”
else
puts “No.”
end
–Jeremy
On Dec 20, 2006, at 3:40 PM, _Kevin wrote:
Let’s say I have two constants
a = Integer
b = NumericDoes anyone have any idea how to see if ‘a’ is a subclass of ‘b’
WITHOUT creating an object of class ‘a’?
A = Integer
=> IntegerB = Numeric
=> NumericA.ancestors.include? B
=> true
Hope that helps.
James Edward G. II
On 12/20/06, _Kevin [email protected] wrote:
Let’s say I have two constants
a = Integer
b = NumericDoes anyone have any idea how to see if ‘a’ is a subclass of ‘b’
WITHOUT creating an object of class ‘a’?
irb(main):021:0> a = Numeric
=> Numeric
irb(main):022:0> b = Integer
=> Integer
irb(main):023:0> a.ancestors
=> [Numeric, Comparable, Object, Kernel]
irb(main):024:0> a.ancestors.include? b
=> false
irb(main):025:0> b.ancestors.include? a
=> true
irb(main):026:0>
“b.ancestors.include? a” seems to do it. Notice I reversed your
definitions
of “a” & “b” (not for any particular reason, that’s just how it worked
out).
Justin
Thanks guys,
_Kevin
On Dec 20, 2006, at 1:53 PM, Justin B. wrote:
irb(main):026:0>
“b.ancestors.include? a” seems to do it. Notice I reversed your
definitions
of “a” & “b” (not for any particular reason, that’s just how it
worked out).Justin
You can also use < and > to compare subclasses or superclasses
ez $ irb
a = Integer
b = Numeric
a < b
a > b
Cheers-
– Ezra Z.
– Lead Rails Evangelist
– [email protected]
– Engine Y., Serious Rails Hosting
– (866) 518-YARD (9273)
This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.
Sponsor our Newsletter | Privacy Policy | Terms of Service | Remote Ruby Jobs