Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

The following examples show how to write functions in Macro. A function does not need to have a return value. Only one value can be returned - to return multiple values, return a list containing the values.

Code Block
languagepy
# function that takes no arguments
function always_return_5 ()
    return 5
end always_return_5

five = always_return_5()


# function that takes an argument and does no type-checking
function add_10_untyped (a)
    return a+10
end add_10_untyped

b = add_10_untyped(4)


# function that takes two arguments
function add_two_untyped (a, b)
    return a+b
end add_two_untyped

b = add_two_untyped(9, 11)


# function that takes an argument that must be a number
function add_10_to_number (a:number)
    return a+10
end add_10_to_number

b = add_10_to_number(6)
b = add_10_to_number('Hello')  # Run-time error


# function that takes any number of arguments
function print_all_params
    loop arg in arguments()
        print(arg)
    end loop
end print_all_params

print_all_params(5, 6, 7, 'Hello')

...