0
0
RubyHow-ToBeginner · 3 min read

How to Use Default Parameters in Ruby: Simple Guide

In Ruby, you can set a default parameter by assigning a value to a method argument in the method definition, like def greet(name = "Guest"). This means if no argument is passed, the default value is used automatically.
📐

Syntax

To use a default parameter in Ruby, assign a value to the parameter in the method definition. This value is used if no argument is provided when calling the method.

  • Parameter name: The name of the argument.
  • Default value: The value assigned after an equals sign =.
ruby
def method_name(parameter = default_value)
  # method body
end
💻

Example

This example shows a method greet with a default parameter name. If no name is given, it uses "Guest".

ruby
def greet(name = "Guest")
  puts "Hello, #{name}!"
end

greet("Alice")
greet
Output
Hello, Alice! Hello, Guest!
⚠️

Common Pitfalls

One common mistake is placing parameters with default values before those without defaults, which causes errors. Always put parameters with defaults at the end.

Also, avoid using mutable objects like arrays or hashes as default values directly because they can be shared across calls unexpectedly.

ruby
def wrong_method(name = "Guest", age)
  puts "Name: #{name}, Age: #{age}"
end

# This will cause an error when called as wrong_method(25)

# Correct way:
def correct_method(age, name = "Guest")
  puts "Name: #{name}, Age: #{age}"
end

correct_method(25)
correct_method(25, "Bob")
Output
Name: Guest, Age: 25 Name: Bob, Age: 25
📊

Quick Reference

  • Default parameters are set with = in method definitions.
  • Parameters with defaults must come after required parameters.
  • Use default parameters to make arguments optional.
  • Avoid mutable default values like arrays or hashes directly.

Key Takeaways

Set default parameters by assigning values in method definitions using =.
Always place parameters with default values after required parameters to avoid errors.
Default parameters make method arguments optional and simplify method calls.
Avoid using mutable objects as default values to prevent unexpected behavior.
Use string interpolation to include parameters in output for clarity.