From: Ara.T.Howard@... Date: 2004-10-03T13:54:57+09:00 Subject: Re: Just Found Integer() On Sun, 3 Oct 2004, James Edward Gray II wrote: > > I'll confess to not being very "Duck Typing" aware, so I assume I'll > understand the need for this method after I cover the chapter on that > topic. In the meantime though, can I just ask where this syntax came > from??? I get that it's the resulting object name (I found Array(), > Float() and String() too), but it still seemed pretty radical to me. been there for a while: harp:~ > /usr/bin/ruby -v -e'p Integer(42)' ruby 1.6.8 (2002-12-24) [i386-linux-gnu] 42 it's just a method that happens to also be a constant. harp:~ > /usr/bin/ruby -v -e'p Kernel.methods.grep(/Int/)' ruby 1.6.8 (2002-12-24) [i386-linux-gnu] ["Integer"] think of it like Kernel.open being shorthand for File::open - it makes dirty scipts feel short and sweet - but it's really a class method of File. the Integer and friend methods are better than, say String#to_i because harp:~ > /usr/bin/ruby -v -e'p "42abc".to_i' ruby 1.6.8 (2002-12-24) [i386-linux-gnu] 42 harp:~ > /usr/bin/ruby -v -e'p Integer("42abc")' ruby 1.6.8 (2002-12-24) [i386-linux-gnu] -e:1:in `Integer': invalid value for Integer: "42abc" (ArgumentError) from -e:1 i use them all the time because of this - if fact, my post from earlier today has the Integer() contruct in it ;-) kind regards. -a -- =============================================================================== | EMAIL :: Ara [dot] T [dot] Howard [at] noaa [dot] gov | PHONE :: 303.497.6469 | A flower falls, even though we love it; | and a weed grows, even though we do not love it. | --Dogen ===============================================================================