Methods

View saved

Define a method

The last expression is returned automatically.

def add(a, b)
  a + b
end

puts add(2, 3)

Default arguments

Defaults cover optional parameters.

def greet(name, greeting = "Hello")
  "#{greeting}, #{name}"
end

puts greet("World")

Keyword arguments

Named parameters make call sites clearer.

def course(title:, lessons: 10)
  "#{title} (#{lessons})"
end

puts course(title: "Ruby", lessons: 18)

Method habits

  • Use snake_case method names
  • End predicate methods with ?
  • End dangerous mutating methods with ! by convention
  • Raise errors for invalid input instead of returning magic values

Comments

One comment per signed-in account. Comments are saved with this page’s URL.