Skip to content

Instantly share code, notes, and snippets.

@valikos
Created July 21, 2015 08:07
Show Gist options
  • Save valikos/0bc0a133c245bccb0338 to your computer and use it in GitHub Desktop.
Save valikos/0bc0a133c245bccb0338 to your computer and use it in GitHub Desktop.
Variables in ruby
class A
@foo = :foo
@@bar = :bar
attr_reader :foo
def foo
@foo = :bla
end
def self.foo
@foo
end
def self.bar
@@bar
end
end
class B < A
@foo = :poo
@@bar = :lol
end
puts "#{A.foo}, #{A.bar}, #{A.instance_variables}, #{A.class_variables}"
puts "#{B.foo}, #{B.bar}, #{B.instance_variables}, #{B.class_variables}"
a = A.new
puts "#{a.foo}, #{a.instance_variables}, #{a.class.instance_variables}, #{a.class.class_variables}"
__END__
foo, lol, [:@foo], [:@@bar]
poo, lol, [:@foo], [:@@bar]
bla, [:@foo], [:@foo], [:@@bar]
[Finished in 0.1s]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment