In this lecture, we will discuss…
² Functions / Methods
• Definitions
• How do you call them?
• What and how do they return?
• Default args
² How to make methods more expressive
² What is “splat”
Functions and Methods
² Technically, a function is defined outside of a class and
a method is defined inside a class
² In Ruby, every function/method has at least one class it
belongs to
• Not always written inside a class
Conclusion: Every function is really a method in
Ruby
Methods
² Parentheses are optional
both when defining and
calling a method
• Used for clarity
Return
² No need to declare type of
parameters
² Can return whatever you
want
² return keyword is
optional (last executed line
returned)
Expressive Method Names
² Method names can end
with:
• ‘?’ - Predicate methods
• ‘!’ - Dangerous side-
effects (example later by
strings)
Default Arguments
² Methods can have default
arguments
• If a value is passed in –
use that value
• Otherwise – use the
default value provided
Ternary operator:
condition ? true : false
Splat
² * prefixes parameter
inside method
definition
• Can even apply to
middle parameter,
not just the last
Summary
² There is no need to declare parameter type passed in or
returned (dynamic)
² return is optional – the last executable line is
“returned”
² You can construct methods with variable number of
arguments or default arguments
What’s next?
² Blocks