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
defhello puts "Hello, world!"
end hello# => Hello, world!
You can undefine a method with
undefhello # 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, times) puts word * times end repeat("Hello! ", 3) # => Hello! Hello! Hello! repeat "Goodbye! ", 4 # => Goodbye! Goodbye! Goodbye! Goodbye!
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.
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"Hello, world!" end
Ruby has conventions about the last character in method names—conventions that are very common ...