Unterschied zwischen verschiedenen Variablenbereichen in Ruby

Ruby hat 5 variable Bereiche:

Lokale Variablen: Dies sind die normalen Variablen, zum Beispielx = 25, y = gaurish woherx undy sind lokale Variablen.Instanzvariablen: diese sind mit bezeichnet@ Symbol vor dem eigentlichen Variablennamen. Wird hauptsächlich mit Klassen verwendet, sodass jede Instanz / jedes Objekt der Klasse einen anderen / separaten Wert hat. Beispiel.@employee.name = 'Alex'Klassenvariablen: bezeichnet mit@@ Symbole vor Variablennamen. Klassenvariable, ich denke, haben den gleichen Wert für alle Instanzen / Objekt.Globale Variablen: Sie beginnen mit$ Symbol und sind zugänglichüberall. Beispiel$LOAD_PATHKonstanten: Muss mit einem Großbuchstaben beginnen, ist aber gemäß Konvention in geschriebenALL_CAPS. Es ist zwar eine Konstante, aber ihr Wert ist nicht konstant und kann geändert werden (Ruby gibt jedoch eine Warnung aus). In diesem Sinne verhält sich dies auch wie eine Variable.

Wie Sie vielleicht bemerken, handelt es sich bei allen oben genannten Variablen um Variablen, die einen Wert eines bestimmten Typs speichern und deren Wert geändert werden kann. Aber jedes Zielfernrohr macht etwas anderes. 5 verschiedene Arten von variablen Bereichen zu haben, verwirrt mich. Ich habe hauptsächlich Schwierigkeiten zu entscheiden, in welchem ​​Fall ich einen bestimmten Bereich in meinem Code verwenden soll. Ich habe also einige Fragen im Kopf. bitte antworte:

Ich stelle fest, dass lokale Variablen und Klassenvariablen im Gegensatz zu Instanzvariablen für alle Objekte / Instanzen gleich bleiben. Welcher Unterschied besteht zwischen lokalen Variablen und Klassenvariablen?Können lokale Variablen anstelle von Klassenvariablen verwendet werden? oder umgekehrt. Und wenn ja, warum und wenn nein, warum nicht?Globale Variablen in Ruby erinnern mich an das Böseglobal $x Variablen in PHP. Werden globale Variablen in Ruby auch als böse angesehen und sollten daher nicht verwendet werden. ODER gibt es bestimmte Fälle, in denen es sinnvoll ist, globale Variablen in Ruby zu verwenden?Warum sind Konstanten keine Konstanten und erlauben die Änderung ihres Wertes? Der Wert einer Konstanten sollte per Definition konstant sein, oder? Andernfalls können wir nur eine andere Variable verwenden und ihren Wert nicht ändern. Wäre das gleichbedeutend mit einer Konstante in Rubin?Gibt es eine Seite / Ressource / Link, die den Unterschied zwischen 5 verschiedenen variablen Bereichen in Ruby erklärt? Ich halte gerne einen zur Referenz bereit.In welchem ​​Anwendungsfall sollte ich einen bestimmten Variablenbereich in meinem Code verwenden. damit man alle 5 fälle mit beispiel erklären kann das wäre cool, das ist mein hauptgrund für verwirrung.Gibt es eine de facto Wahl wiepublic in Java? Welches wäre die sichere Wettedie meisten Anwendungsfälle?

Vielen Dank, dass Sie sich die Zeit genommen haben, die Frage zu lesen und zu beantworten

Antworten auf die Frage(4)

Ihre Antwort auf die Frage