例:$foobar$/`$'で始まる変数はグローバル変数で、プログラムのどこからでも参照できます(その分、利用には注意が必要です)。グローバル変数には宣言は必要ありません。初期化されていないグローバル変数を参照した時の値はnilです。処理系によって特殊な意味を与えられているものがあります。これらを組み込み変数と呼びます。特殊変数を参照してください。組み込み変数の一部は、通常の変数としては使用できない特殊な名前を持っています。10進数字」という名前を持つ変数を特殊変数と呼びます。ような変数もあります。対応しており、オプション変数と呼ばれます。スコープ組み込み変数は文法解析上はグローバル変数として扱われます。実際のスコープは必ずしもグローバルとは限りません。組み込み変数には次の種類のスコープがありえます。グローバルスコープ通常のグローバル変数と同じ大域的なスコープを持ちます。ローカルスコープ通常のローカル変数と同じスコープを持ちます。式本体やメソッド本体で行われた代入はその外側には影響しません。プログラム内のすべての場所において代入を行わずともアクセスできることを除いて、通常のローカル変数と同じです。スレッドローカルスコープスレッドごとの値を持ちます。他のスレッドで異なる値が割り当てられても影響しません。一部の変数は読み取り専用です。ユーザープログラムから変更することができません。代入しようとすると実行時に例外を生じます。通常の変数以外に疑似変数と呼ばれる特殊な変数があります。self現在のメソッドの実行主体。nilNilClassクラスの唯一のインスタンス。trueTrueClassクラスの唯一のインスタンス。