C
CompGeek78
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?
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?