我在学习Ruby几个月后,现在我正在尝试构建一个韩语/朝鲜语/英语词典类型的东西。我给它喂了一个包含所有单词的文本文件。
到目前为止,我已经:
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
我的问题是:
1)我是否没有必要为阵列制作单独的模块? (我主要是尝试在模块和课程中进行混音)
2)正确使用数组的常量吗?我想我的想法是我想让阵列能够从外面访问,但说实话,我真的不知道我在做什么。
提前致谢。
答案 0 :(得分:6)
由于您的字典是从文件加载的,因此最好使用类而不是模块,这样每个文件都可以解析为单独的字典。
File
此外,您可以看到我没有修补File
类,因为$ rm ~/envs/ENV*/log/*
不仅用于创建字典,还用于各种文件操作。