[lnkForumImage]
TotalShareware - Download Free Software

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


 

Forums >

comp.lang.ruby

Question about Array's size instance method

Matt Gretton

1/14/2007 2:01:00 PM

Hello all,

I have a quick question regarding the way the size instance method works
for Arrays.

When an array is asked for its size multiple times in a piece of code
(say a method). Which of the following happens?

a) The size is calculated every time the array is asked for it.
b) The size is assigned to an instance variable the first time it is
calculated and then returned when the array is subsequently asked for
its size.

Any reply to this question would be gladly received.

Thanks in advance.

Matt.

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

4 Answers

Tim Hunter

1/14/2007 2:18:00 PM

0

Matt Gretton wrote:
> Hello all,
>
> I have a quick question regarding the way the size instance method works
> for Arrays.
>
> When an array is asked for its size multiple times in a piece of code
> (say a method). Which of the following happens?
>
> a) The size is calculated every time the array is asked for it.
> b) The size is assigned to an instance variable the first time it is
> calculated and then returned when the array is subsequently asked for
> its size.
>
> Any reply to this question would be gladly received.
>
> Thanks in advance.
>
> Matt.
>
>
Ruby always knows the current size of the array. It doesn't have to be
calculated on demand.

dblack

1/14/2007 2:24:00 PM

0

Gary Wright

1/14/2007 4:59:00 PM

0


On Jan 14, 2007, at 9:23 AM, dblack@wobblini.net wrote:
> I'll just add, in case it helps with future understanding of something
> similar, that I don't think Ruby ever initializes an instance variable
> for you, without your specifically doing it (or implicitly, in the
> case of attr_*-generated methods).

Call me pedantic, but I think it is important to point out that Dave's
comment excludes Ruby's default initialization to nil for instance
variables.

p Object.new.instance_variable_get('@foo') # => nil

When learning Ruby, it took me a little while before I absorbed the
fact that
nil behaves as an object as opposed to a special value (like C's NULL
pointer)
indicating the lack of a referenced object.

Gary Wright




dblack

1/15/2007 12:39:00 PM

0