What does ::
mean in Ruby? E.g. Foo::Bar
.
3 Answers
22
votes
When a receiver is explicitly specified in a method invocation, it may be separated from the method name using either a period (
.
) or two colons (::
). The only difference between these two forms occurs if the method name starts with an uppercase letter. In this case, Ruby will assume that areceiver::Thing
method call is actually an attempt to access a constant calledThing
in the receiver unless the method invocation has a parameter list between parentheses.
9
votes