Methods
Methods provide a way to collect programming statements and expressions into one place so that you can use them conveniently and, if necessary, repeatedly. Most of the operators in Ruby are actually methods. Here is a simple definition of a method named hello
, created with the keywords def
and end
:
def
hello puts "Hello, world!"end hello
# => Hello, world!
You can undefine a method with undef
:
undef
hello # undefines the method named hello
hello # try calling this method now
NameError: undefined local variable or method 'hello' for
main:Object
from (irb):11
from :0
Methods can take arguments. The repeat
method shown here takes two arguments, word
and times
:
def repeat( word, times
)
puts word * times
end
repeat("Hello! ", 3) # => Hello! Hello! Hello!
repeat "Goodbye! ", 4 # => Goodbye! Goodbye! Goodbye!
Goodbye!
Parentheses
Parentheses are optional in most Ruby method definitions and calls. If you don’t use parentheses when calling a method that takes arguments, you may get warnings, depending on the argument types.
Return Values
Methods have return values. In other languages, you explicitly return a value with a return
statement. In Ruby, the value of the last expression evaluated is returned, with or without an explicit return
statement. This is a Ruby idiom. You can also define a return value explicitly with the return
keyword:
def hello
return
"Hello, world!"
end
Method Name Conventions
Ruby has conventions about the last character in method names—conventions that are very common ...
Get Ruby Pocket Reference now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.