Function object
In Ruby, several objects can be considered function objects, in particular Method and Proc objects. Ruby also has two kinds of objects that can be thought of as semi-function objects: UnboundMethod and block. UnboundMethods must first be bound to an object (thus becoming a Method) before they can be used as a function object. Blocks can be called like function objects, but to be used in any other capacity as an object (e.g. passed as an argument) they must first be converted to a Proc. More recently, symbols (accessed via the literal unary indicator codice_35) can also be converted to codice_36s. Using Ruby's unary codice_37 operator—equivalent to calling codice_38 on an object, and assuming that method exists—the Ruby Extensions Project created a simple hack.
Ruby
Generally, gemstone-quality corundum in all shades of red, including pink, are called rubies. However, in the United States, a minimum color saturation must be met to be called a ruby; otherwise, the stone will be called a pink sapphire. Drawing a distinction between rubies and pink sapphires is relatively new, having arisen sometime in the 20th century. Often, the distinction between ruby and pink sapphire is not clear and can be debated. As a result of the difficulty and subjectiveness of such distinctions, trade organizations such as the International Colored Gemstone Association (ICGA) have adopted the broader definition for ruby which encompasses its lighter shades, including pink.