# Also possible to enforce types on local variables function main() # Int is an alias for Int32 or Int64 depending on your installation # 32 bit vs 64 bit a::Int = 14 b::Int = 7 # Enforces the type of c for the rest of the scope c::Int = a + b @show typeof(c) c # The @show macro is basically a debug print # Normal division of integers returns Float64 # Assignment to c tries to convert result to the # type of c as the type is enforced. # If unable to convert to Int it throws an appropriate exception c = a / b @show typeof(c) c # // is rational division. This returns a rational number c = a // b @show typeof(c) c # Integer division is done by div, fld or cld (floor divide/ceil divide) # div rounds towards zero (1.5 -> 1, -2.7 -> -2) # floor rounds downwards (1.5 -> 1, -2.7 -> -3) # ceil rounds upwards (1.5 -> 2, -2.7 -> -2) c = div(a, b) c = fld(a, b) c = cld(a, b) # Exponentiation is done with the ^ symbol as in most calculator programs c = a^b @show c end main()