Programming Ruby: The Pragmatic Programmer's Guide

# Programming Ruby ### The Pragmatic Programmer's Guide
Previous < | Contents ^ | Next >

class Symbol |
Parent: | Object
Version: | 1.6

### Index:

id2name inspect to_i to_s

A `Symbol` object represents a Ruby name and is generated automatically using the `:name` literal syntax. The same `Symbol` object will be created for a given name string for the duration of a program's execution, regardless of the context or meaning of that name. Thus if `Fred` is a constant in one context, a method in another, and a class in a third, the `Symbol` `:Fred` will be the same object in all three contexts.

`module One`
`class Fred`
`end`
`$f1 = :Fred`
`end`
`module Two`
`Fred = 1`
`$f2 = :Fred`
`end`
`def Fred()`
`end`
`$f3 = :Fred`
`$f1.id` | » | `2299150`
`$f2.id` | » | `2299150`
`$f3.id` | » | `2299150`

instance methods
id2name | sym.id2name -> aString
|  | Returns the name corresponding to sym.
`:fred.id2name` | » | `"fred"`
inspect | sym.inspect -> aString
|  | Returns the representation of sym as a symbol literal.
`:fred.inspect` | » | `":fred"`
to_i | sym.to_i -> aFixnum
|  | Returns an integer that is unique for each symbol within a particular execution of a program.
to_s | sym.to_s -> aString
|  | Synonym for `Symbol#id2name` .

Previous < | Contents ^ | Next >

Extracted from the book "Programming Ruby - The Pragmatic Programmer's Guide"
Copyright © 2000 Addison Wesley Longman, Inc. Released under the terms of the Open Publication License V1.0.
This reference is available for download.