Chapter 7. Iteration

This chapter is about iteration, which is the ability to run a block of statements repeatedly. We saw a kind of iteration, using recursion, in “Recursion”. We saw another kind, using a for loop, in “Simple Repetition”. In this chapter we’ll see yet another kind, using a while statement. But first I want to say a little more about variable assignment.

Reassignment

As you may have discovered, it is legal to make more than one assignment to the same variable. A new assignment makes an existing variable refer to a new value (and stop referring to the old value):

julia> x = 5
5
julia> x = 7
7

The first time we display x, its value is 5; the second time, its value is 7.

Figure 7-1 shows what reassignment looks like in a state diagram.

thju 0701
Figure 7-1. State diagram

At this point I want to address a common source of confusion. Because Julia uses the equals sign (=) for assignment, it is tempting to interpret a statement like a = b as a mathematical proposition of equality; that is, the claim that a and b are equal. But this interpretation is wrong.

First, equality is a symmetric relationship and assignment is not. For example, in mathematics, if a = 7 then 7 = a . But in Julia, the statement a = 7 is legal and 7 = a is not.

Also, in mathematics, a proposition of equality is either true or false for all time. If a = b now, then a will always equal b . In ...

Get Think Julia now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.