Variables, naming conventions, and comments

Data is stored in values such as 1, 3.14, and "Julia", and every other value has a type, for example, the type of 3.14 is Float64. Some other examples of elementary values and their data types are 42 of the Int64 type, true and false of the Bool type, and 'X' of the Char type.

Julia, unlike many modern programming languages, differentiates between single characters and strings. Strings can contain any number of characters, and are specified using double quotes—single quotes are only used for a character literal. Variables are the names that are bound to values by assignments, such as x = 42. They have the type of the value they contain (or reference); this type is given by the typeof function. For example, typeof(x) returns Int64.

The type of a variable can change, because putting x = "I am Julia" now results in typeof(x) returning String. In Julia, we don't have to declare a variable (that indicates its type) such as in C or Java, for instance, but a variable must be initialized (that is, bound to a value) so that Julia can deduce its type:

julia> y = 7 
7     
typeof(y)   # Int64 
julia> y + z 
ERROR: UndefVarError: z not defined 

In the preceding example, z was not assigned a value before we used it, so we got an error. By combining variables through operators and functions such as the + operator (as in the preceding example), we get expressions. An expression always results in a new value after computation. Contrary to many other languages, everything in Julia is an expression, so it returns a value. That's why working in a REPL is so great: because you can see the values at each step.

The type of variables determines what you can do with them, that is, the operators with which they can be combined with. In this sense, Julia is a strongly typed language. In the following example, x is still a String value, so it can't be summed with y, which is of type Int64, but if we give x a float value, the sum can be calculated, as shown in the following example:

julia> x + y 
ERROR: MethodError: no method matching +(::String, ::Int64) 
julia> x = 3.5; x + y 
10.5 

Here, the semicolon (;) ends the first expression and suppresses its output. Names of the variables are case-sensitive. By convention, lowercase is used with multiple words separated by an underscore. They start with a letter and, after that, you can use letters, digits, underscores, and exclamation points. You can also use Unicode characters. Use clear, short, and to-the-point names. Here are some valid variable names: mass, moon_velocity, current_time, pos3, and ω1. However, the last two are not very descriptive, and they should better be replaced with, for example, particle_position and particle_ang_velocity.

A line of code preceded by a hash sign (#) is a comment, as we can see in the following example:

# Calculate the gravitational acceleration grav_acc: 
gc = 6.67e-11 # gravitational constant in m3/kg s2 
mass_earth = 5.98e24  # in kg 
radius_earth = 6378100 # in m 
grav_acc = gc * mass_earth / radius_earth^2 # 9.8049 m/s2  

Multiline comments are helpful for writing comments that span across multiple lines or commenting out code. In Julia, all lines between #= and =# are treated as a comment. For printing out values, use the print or println functions, as follows:

julia> print(x) 
3.5 

If you want your printed output to be in color, use printstyled("I love Julia!", color=:red), which returns the argument string in the color indicated by the second argument.

The term object (or instance) is frequently used when dealing with variables of more complex types. However, we will see that, when doing actions on objects, Julia uses functional semantics. We write action(object) instead of object.action(), as we do in more object-oriented languages such as Java or C#.

In a REPL, the value of the last expression is automatically displayed each time a statement is evaluated (unless it ends with a ; sign). In a standalone script, Julia will not display anything unless the script specifically instructs it to. This is achieved with a print or println statement. To display any object in the way the REPL does in code, use display(object) or show(object) (show is a basic function that prints a text representation of an object, which is often more specific than print).

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
18.119.106.237