Functions (subroutines)


  1. Defining simple function
  2. Defining a function
  3. Parameters can be named
  4. Default values
  5. Several defaults, using names
  6. Arbitrary number of arguments
  7. Fixed parmeters before the others
  8. Extra key-value pairs in parameters
  9. Duplicate declaration of functions (multiple signatures)
  10. Recursive Fibonacci
  11. Non-recursive Fibonacci
  12. Variable assignment and change - Immutable
  13. Variable assignment and change - Mutable
  14. Parameter passing of functions
  15. Passing references
  16. Function documentation