Posted about 5 years ago. Visible to the public. Linked content.

Ruby 2.0 introduces keyword arguments

"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).

Copy
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:

Copy
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:).

Growing Rails Applications in Practice
Check out our new e-book:
Learn to structure large Ruby on Rails codebases with the tools you already know and love.

Owner of this card:

Avatar
Dominik Schöler
Last edit:
11 months ago
by Dominik Schöler
About this deck:
We are makandra and do test-driven, agile Ruby on Rails software development.
License for source code
Posted by Dominik Schöler to makandra dev
This website uses cookies to improve usability and analyze traffic.
Accept or learn more