Name

Normal Method Calls

Synopsis

obj.method([expr...[, *expr[, &expr]]])
obj.method [expr...[, *expr[, &expr]]]
obj::method([expr...[, *expr[, &expr]]])
obj::method [expr...[, *expr[, &expr]]]

Calls a method. May take as arguments any number of expr followed by *expr and &expr. The last expression argument can be a hash declared directly without braces. *expr expands the array value of that expression and passes it to the method. &expr passes the Proc object value of that expression to the method as a block. If it isn’t ambiguous, arguments need not be enclosed in parentheses. Either . or :: may be used to separate the object from its method, but it is customary in Ruby code to use :: as the separator for class methods.

method([expr...[, *expr[, &expr]]])
method [expr...[,
*expr[, &expr]]]

Calls a method of self. This is the only form by which private methods may be called.

Within modules, module methods and private instance methods with the same name and definition are referred to by the general term module functions. This kind of method group can be called in either of the following ways:

Math.sin(1.0)

or:

include Math
sin(1.0)

Tip

You can append ! or ? to the name of a Ruby method. Traditionally, ! is appended to a method that requires more caution than the variant of the same name without !. A question mark ? is appended to a method that determines the state of a Boolean value, true or false.

Attempting to call a method without specifying either its arguments or parentheses in a context ...

Get Ruby in a Nutshell 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.