Ich lerne Ruby in meiner Freizeit, und ich habe eine Frage über Sprachkonstrukte für Konstanten. Hat Ruby ein Äquivalent des C++ const-Schlüsselworts, um zu verhindern, dass Variablen geändert werden? Hier einige Beispiel-Code:Ruby-Äquivalent von C++ Const?
first_line = f.gets().chomp()
column_count = first_line.split(%r{\s+}).size()
print column_count, "\n"
Ich mag würde column_count erklären const zu sein, weil ich es unten in meinem Programm verwenden, und ich möchte wirklich nicht, es versehentlich ändern. Bietet Ruby dafür ein Sprachkonstrukt, oder sollte ich es einfach aufschnappen und erkennen, dass meine Variablen immer änderbar sind?
Antwort auf Kommentare:
‚Die wahrscheinlichste Ursache für‚zufällige‘Überschreiben von Variablen ist, würde ich raten, lange Codeblöcke.‘ Ich stimme dem Geist Ihres Standpunktes zu, widerspreche aber dem Brief. Ihr Argument, lange Codeblöcke und unnötige Zustände zu vermeiden, ist zwar gut, aber für Konstanten kann es auch nützlich sein, das Design von Code innerhalb der Implementierung zu beschreiben. Ein großer Teil des Wertes von const in meinem Code kommt von der Anmerkung, welche Variablen ich ändern sollte und welche nicht, sodass ich nicht versucht bin, sie zu ändern, wenn ich nächstes Jahr zu meinem Code zurückkomme. Dies ist das gleiche Gefühl, das nahelegt, dass Code, der kurze Kommentare wegen guter Variablennamen und klarer Einrückung verwendet, besser ist als ungeschickt geschriebener Code, der durch detaillierte Kommentare erklärt wird.
Eine andere Option scheint Rubys #freeze-Methode zu sein, die mir auch gefällt. Danke für die Antworten jeder.
eine schnelle Google zeigt http://rubylearning.com/satischtalim/ruby_constants.html – cobbal