Ruby 2.0 introduces keyword arguments

Updated . Posted . Visible to the public.

"Keyword arguments" allow naming method arguments (optionally setting a default value). By using the double-splat operator, you can collect additional options. Default values for standard arguments still work (see adjective).

def greet(name, adjective = 'happy', suffix: '!', count: 7, **options)
  greeting = options[:letter] ? 'Dear' : 'Hello'
  puts "#{greeting} #{adjective} #{name + suffix * count}"
end

Invoke the method like this:

greet('Otto', 'sad', suffix: '??', count: 9, include_blank: true)

In Ruby 2.1+, you can also make an argument required by not giving it a default value: def something(required_option:).

Profile picture of Dominik Schöler
Dominik Schöler
Last edit
Dominik Schöler
License
Source code in this card is licensed under the MIT License.
Posted by Dominik Schöler to makandra dev (2014-06-17 17:11)