### 1.1.1 Defining a variable

The following five Yorick statements define the five variables `c`,
`m`, `E`, `theta`, and `file`:

c = 3.00e10; m = 9.11e-28 E = m*c^2 theta = span(0, 6*pi, 200) file = create("damped.txt") |

Variable names are case sensitive, so `E` is not the same variable
as `e`. A variable name must begin with a letter of the alphabet
(either upper or lower case) or with an underscore (`_`);
subsequent characters may additionally include digits.

A semicolon terminates a Yorick statement, so the first line contains two statements. To make Yorick statements easier to type, you don't need to put a semicolon at the end of most lines. However, if you are composing a Yorick program in a text file (as opposed to typing directly to Yorick itself, a semicolon at the end of every line reduces the chances of a misinterpretation, and makes your program easier to read.

Conversely, a new line need not represent the end of a statement. If the line is incomplete, the statement automatically continues on the following line. Hence, the second and third lines above could have been typed as:

E= m * c^2 theta= span(0, 6*pi, 200) |

In the second line, `*` and `^` represent multiplication and
raising to a power. The other common arithmetic operators are
`+`, `-`, `/` (division), and `%` (remainder or
modulo). The rules for forming arithmetic expressions with these
operators and parentheses are the same in Yorick as in Fortran or C
(but note that `^` does not mean raise to a power in C, and
Fortran uses the symbol `**` for that operation).

The `span` function returns 200 equally spaced values beginning
with `0` and ending with `6*pi`. The variable `pi` is
predefined as 3.14159...

The `create` function returns an object representing the new file.
The variable `file` specifies where output functions should write
their data. Besides numbers like `c`, `m`, and `E`, or
arrays of numbers like `theta`, or files like `file`, Yorick
variables may represent several other sorts of objects, taken up in
later chapters.

The `=` operator is itself a binary operator, which has the side
effect of redefining its left operand. It associates from right to
left, that is, the rightmost `=` operation is performed first (all
other binary operators except `^` associate from left to right).
Hence, several variables may be set to a single value with a single
statement:

psi = phi = theta = span(0, 6*pi, 200) |

When you define a variable, Yorick forgets any previous value and data type:

phi = create("junk.txt") |