We have an array and we
want to double each of the numbers
that it holds.
It can be done like this:
Let's assume that someone made a mistake
and put that array2
inside the do end
block
as shown below:
If we run the above code,
we will get an error. Why?
We are getting an error
because the variable array2
is declared inside
the do end
block.
A variable that is born inside a do end
block
is not visible outside of the do end
block.
It means a variable has a scope.
If we try to access a variable
outside of its scope,
then we will get an error.
If a variable is born inside
a do end
block, then that variable's
scope is limited to that do end
block.
Outside of that do end
block, no one knows about that variable.
So how do we fix the previous error?
We need to take variable array2
outside
of the do end
block as shown below: