Asp Forum
Home
|
Login
|
Register
|
Search
Forums
>
comp.lang.ruby
Re: quick question about @ and @@
Drew Olson
5/17/2007 4:34:00 PM
Mike Steiner wrote:
> What's the difference between @ and @@? Specifically, which should I use
> if
> I need a global variable in a non-OOP Ruby program?
>
> Thanks!
>
> Mike Steiner
@ = Instance variable
@@ = Class variable
If you need a global variable in a non-OOP program, I guess I'd suggest
using a constant (capitalized variable). Here's an example of @ and @@
usage:
irb(main):001:0> class Foo
irb(main):002:1> attr_accessor :a
irb(main):003:1> @@b = 0
irb(main):004:1> def initialize
irb(main):005:2> @a = 0
irb(main):006:2> end
irb(main):007:1> def add_a
irb(main):008:2> @a += 1
irb(main):009:2> end
irb(main):010:1> def add_b
irb(main):011:2> @@b += 1
irb(main):012:2> end
irb(main):013:1> def b
irb(main):014:2> @@b
irb(main):015:2> end
irb(main):016:1> end
=> nil
irb(main):017:0> one_foo = Foo.new
=> #<Foo:0x28dc078 @a=0>
irb(main):018:0> two_foo = Foo.new
=> #<Foo:0x28d9ea4 @a=0>
irb(main):019:0> one_foo.add_a
=> 1
irb(main):020:0> one_foo.a
=> 1
irb(main):021:0> two_foo.a
=> 0
irb(main):022:0> one_foo.add_b
=> 1
irb(main):023:0> one_foo.b
=> 1
irb(main):024:0> two_foo.b
=> 1
--
Posted via
http://www.ruby-...
.
Servizio di avviso nuovi messaggi
Ricevi direttamente nella tua mail i nuovi messaggi per
Re: quick question about @ and @@
Inserendo la tua e-mail nella casella sotto, riceverai un avviso tramite posta elettronica ogni volta che il motore di ricerca troverà un nuovo messaggio per te
Il servizio è completamente GRATUITO!
x
Login to ForumsZone
Login with Google
Login with E-Mail & Password