如何在文件中保存哈希并在以后的ruby中使用它?

时间:2017-10-18 14:07:26

标签: ruby

所以我在大学考试时遇到了很大的麻烦,因为我在我的红宝石代码中遇到了问题。我无法弄清楚如何

"如果用户按下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

我必须告诉你们,我只编写了一个月的时间,学校并没有让我轻松...

1 个答案:

答案 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