Unterschied zwischen @instance_variable und attr_accessor

Ich habe gerade angefangen, Rubin zu lernen und sehe keinen Unterschied zwischen@instace_variable und ein mit deklariertes Attributattr_accessor.

Was ist der Unterschied zwischen den folgenden beiden Klassen:

class MyClass  
  @variable1 
end

und

class MyClass
  attr_accessor :variable1
end

Ich habe viele Tutorials online durchsucht und jeder verwendet eine andere Notation. Hat das irgendetwas mit der Ruby-Version zu tun? Ich habe auch ein paar alte Threads in StackOverflow gesucht

Was ist attr_accessor in Ruby?
Was ist der Unterschied zwischen diesen beiden Ruby-Klasseninitialisierungsdefinitionen?

Aber ich bin immer noch nicht in der Lage, herauszufinden, was der beste Weg ist, es zu benutzen.

Antworten auf die Frage(5)

Ihre Antwort auf die Frage