In ruby there are six different types of variables. Some very obscure and rarely used, but interesting to know.
Used in the scope of a method or other local usage.
name = 'stuart'
Usually used as a value that is set once to set a default or reusable value. They use all caps as a convention.
class Person TYPES = [:admin, :user].freeze # hint use the freeze method to make constants immutable end
Saves a values to the instance of a class.
def name=(name) @name = name end
Saves a value to the class itself. Works almost like a class constant.
def self.count_plus_one @@count += 1 end
A variable that can be accessed anywhere from within the program. Admittedly I have never seen these used. Perhaps it makes more sense to make a class, nevertheless it’s worth mentioning.
$access_me_anywhere = 42