Ich bin ein paar Monate in Ruby zu lernen, und im Moment versuche ich, ein südkoreanisches/nordkoreanisches Wörterbuch zu bauen. Ich füttere es mit einer Textdatei, die alle Wörter enthält.Ruby: Konstante, Modul, Hash
Bisher habe ich bekam:
module Dictionary
DICTIONARY = []
end
class File
include Dictionary
def self.convert(file)
readlines(file).each do |line|
south, north, meaning = line.split(',')
DICTIONARY << { :south => south, :north => north, :meaning => meaning }
end
end
end
File.convert("dictionary.txt")
Dictionary::DICTIONARY.sort_by { |word| word[:north] }.each do |word|
puts "#{word[:south]} is #{word[:north]} in North Korean. They both mean #{word[:meaning]}"
end
Meine Frage ist:
1) Ist es nicht notwendig, für mich ein separates Modul für das Array zu machen? (Ich habe hauptsächlich versucht, mit dem Mischen in Modulen und Klassen zu experimentieren)
2) Verwendet eine Konstante für das Array die richtige Bewegung? Ich denke, mein Denkprozess war, dass ich wollte, dass das Array von außen zugänglich ist, aber um ehrlich zu sein, weiß ich nicht wirklich, was ich mache.
Vielen Dank im Voraus.
Was meinst du mit "von außen"? Welche Art von Anwendung erstellen Sie? –
Sie können eine 'instance_variable' mit einem Wörterbuch anstelle von' constant' erstellen. –
Ich würde vorschlagen, die Klasse 'File' nicht zu verschmutzen, weil es eine universelle Klasse zum Lesen/Schreiben aller Arten von Dateien ist, nicht nur für Ihre spezifische Verwendung. Fall. – Aetherus