所以我在大学考试时遇到了很大的麻烦,因为我在我的红宝石代码中遇到了问题。我无法弄清楚如何
"如果用户按下2,程序将询问员工编号,然后搜索该员工。如果程序找到它,则打印,如果没有,则打印一条消息,说明它没有。"
我的问题是,我不确定信息是否已妥善保存在文件中。但如果是......那么问题是我所做的哈希并没有获取已保存在文件中的信息,只能使用它最后收到的信息。
puts "Insert Registration number \n"
search = gets.chomp
hash = Hash.new()
hash = {(regnr) => (name)}
hash.each do |key, value|
puts "#{key} \t | \t #{value}"
end
search =~ File.new("employees.txt", "r")
if hash.has_key? (search)
print "The person you were looking for is "
puts hash [search]
else
puts "He isn't one of our employees"
end
我必须告诉你们,我只编写了一个月的时间,学校并没有让我轻松...
答案 0 :(得分:0)
我建议使用yaml
。浏览网页,了解使用YAML的一些示例。它是一个可以代表哈希的结构化标记。您可以轻松地转储和加载简单的ruby对象,如哈希和数组。
require 'yaml'
parsed = begin
employee_hash = YAML.load(File.open("employees.yml"))
rescue ArgumentError => e
puts "Could not parse YAML: #{e.message}"
end