A globális változók olyan változók, amelyek a program bármely pontjáról érhetők el, függetlenül a hatókörtől. A $ (dollár jel) karakterrel kezdődik. A globális változók használata azonban gyakran "un-rubin", és ritkán látja őket.

A globális változók meghatározása

A globális változókat úgy definiáljuk és használják, mint bármely más változó. Határozza meg őket, egyszerűen hozzárendeljen nekik értéket, és kezdje el őket. But, as their name suggests, assigning to global variables from any point in the program has global implications. A következő program ezt mutatja. The method will modify a global variable, and that will affect how the second

method runs.
$speed #61; 10DEF gyorsítja a $ Speed     100ENDDEF PASS_SPEED_TRAPIF $ SPEED  GT; 65# Give the program a speeding ticketendendacceleratepass_speed_trap

Unpopular

So why is this un-Ruby És miért nem látja a globális változókat nagyon gyakran? Tedd egyszerűen, megszakítja a kapszulázást. Ha bármelyik osztály vagy módszer módosíthatja a globális változók állapotát, akkor az interfészréteg, bármely más olyan osztály, amely támaszkodik arra, hogy a globális változó viselkedjen váratlan és nemkívánatos módon. Továbbá az ilyen kölcsönhatások nagyon nehéz lehetnek hibakeresésre. Milyen módosította a globális változó és mikor? Teljesen sok kódot keresel, hogy megtalálja, mit csinált, és hogy elkerülhették volna a kapszulázás szabályait.

, de ez nem jelenti azt, hogy a globális változók Soha Rubyban használják. Számos különleges globális változó létezik egyetlen karakteres nevekkel (A-La Perl), amely a program során használható. A program állapotát képviselik magukat, és olyan dolgokat csinálnak, mint a rekord és a mező elválasztóinak módosítása minden kap módszert

.