According to the book "$" is supposed to be used for global variables.
I still don't get it :/

Quote from the book :

"There¡Çs a common misconception, particularly among people who come from languages
such as Java and C#, that the attr_reader declaration somehow declares instance variables.
It doesn¡Çt. It creates the accessor methods, but the variables themselves don¡Çt need to be
declared¡½they just pop into existence when you use them. Ruby completely decouples
instance variables and accessor methods, as we¡Çll see in the section Virtual Attributes on the
next page."

The code involved is in this section, so it should be the key.
I just don't understand why they didn't write the "@", maybe just to prove what they said, but from my point of view it seems a bad practice.