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.
Pokémon Ruby and Sapphire
Like other "Pokémon" games, "Ruby" and "Sapphire"'s gameplay is linear; the main events occur in a fixed order. The protagonist of "Pokémon Ruby" and "Sapphire" is a child who has recently moved to a small town called Littleroot Town. At the beginning of the games, the player chooses either Treecko, Torchic, or Mudkip to protect Professor Birch, the regional professor, from an attacking poochyena. After defending Birch, the player is taken to his lab and receives the chosen Pokémon as his or her starter Pokémon with the choice of Mudkip, Treecko, or Torchic. After that the player encounters May, daughter of Professor Birch. The player's rival, who appears as the professor's child, is also a Pokémon Trainer and occasionally battles the player. The games' two main goals are defeating the eight Gym Leaders, proving oneself worthy of challenging the Elite Four and Champion to become the new Champion and completing the Pokédex by capturing, evolving, and trading to obtain all 202 Pokémon (It is possible to obtain all 386 Pokémon, but this requires trading with "Pokémon FireRed" and "LeafGreen").