WARNING: this topic is purely "academic" - global variables should never be used. FYI, they produce warnings if the -w flag is in use by the interpreter.Global variables' names start with the `$` character and have a value of `nil` before first assignment.
$a_bad_idea = 1 class Animal def wooot? $a_bad_idea = 2 end end blue_tiger = Animal.new puts $a_bad_idea blue_tiger.wooot? puts $a_bad_idea
First time we print $a_bad_idea it shows 1. The second time is 2, although there is not immediately evident where the change occurred.