Örnek değişken @ ile başlayan bir ada sahiptir ve etki alanı self nesnesi ile sınırlıdır. Aynı sınıfa dahil olan iki aynı nesne için iki değişik örnek değişken tanımlamak mümkündür.
Örnek değişkenler, yazılımcı hangi yöntemi tanımlarsa tanımlasın bir nesnenin dışından değiştirilemez (Ruby'nin örnek değişkenleri hiçbir zaman genel olamaz). Genel değişkenlerde olduğu gibi, örnek değişkenler de başlangıç değeri atanmazsa nil değerine sahip olurlar.
Ruby'de örnek değişkenleri bildirmeye gerek yoktur. Bu durum nesnelerin yapısına esneklik kazandırır. Aslında, her örnek değişken, nesnedeki ilk kullanımında kendiliğinden oluşturulur.
ruby> class OrnekDeneme
| def set_foo(n)
| @foo = n
| end
| def set_bar(n)
| @bar = n
| end
| end
nil
ruby> i = OrnekDeneme.new
#<OrnekDeneme:0x83678>
ruby> i.set_foo(2)
2
ruby> i
#<OrnekDeneme:0x83678 @foo=2>
ruby> i.set_bar(4)
4
ruby> i
#<OrnekDeneme:0x83678 @foo=2, @bar=4>
i'nin set_bar yöntemi çağrılmadan @bar'ın hiçbir değer belirtmediğine dikkat edin.