Velocity Reviews > Ruby > Question on do block

# Question on do block

CompGeek78
Guest
Posts: n/a

 07-31-2008
While going through some practice code from a book, I ran into an odd
issue with this do block.

The book put the code this way and it worked fine.

def mtdarry
10.times do |num|
square = num * num
return num, square if num > 7
end
end

num, square = mtdarry
puts num
puts square

This returns 8 and 64, which makes sense.

The problem I ran into is in changing the > to a =.

def mtdarry
10.times do |num|
square = num * num
return num, square if num = 7
end
end

num, square = mtdarry
puts num
puts square

At this point, it outputs 7 and 0. Why does it not calculate the value
of square properly?

Gregory Brown
Guest
Posts: n/a

 07-31-2008
On Thu, Jul 31, 2008 at 2:09 PM, CompGeek78 <(E-Mail Removed)> wrote:

> The problem I ran into is in changing the > to a =.
>
> def mtdarry
> 10.times do |num|
> square = num * num
> return num, square if num = 7
> end
> end

You want an equality check, not assignment.

>> a = 1

=> 1
>> a == 1

=> true
>> a == 2

=> false

num = 7 is always true, because all values except false and nil are
true in the boolean sense in Ruby.
num == 7 is only true when num is 7.

-greg

CompGeek78
Guest
Posts: n/a

 07-31-2008
On Jul 31, 12:14*pm, Gregory Brown <(E-Mail Removed)> wrote:
> On Thu, Jul 31, 2008 at 2:09 PM, CompGeek78 <(E-Mail Removed)> wrote:
> > The problem I ran into is in changing the > to a =.

>
> > def mtdarry
> > *10.times do |num|
> > * *square = num * num
> > * *return num, square if num = 7
> > *end
> > end

>
> You want an equality check, not assignment.
>
> >> a = 1

> => 1
> >> a == 1

> => true
> >> a == 2

>
> => false
>
> num = 7 is always true, because all values except false and nil are
> true in the boolean sense in Ruby.
> num == 7 is only true when num is 7.
>
> -greg

 Posting Rules You may not post new threads You may not post replies You may not post attachments You may not edit your posts BB code is On Smilies are On [IMG] code is On HTML code is OffTrackbacks are On Pingbacks are On Refbacks are Off Forum Rules

 Similar Threads Thread Thread Starter Forum Replies Last Post morrell XML 1 10-10-2006 07:18 PM Showjumper ASP .Net 1 03-19-2005 03:48 PM Noozer HTML 3 01-06-2005 10:24 PM Andy XML 0 11-18-2004 11:04 PM