-2

我对 Ruby 作业有疑问。

有一个包含 1000 个字符的 txt 文件(每行一个)
所以程序向用户询问 9 个数字 0..999
之后它应该从文件中找到并打印 9 个字符

示例输出
给出 1. 0-999 之间的数字:444
给出 2. 0-999 之间的数字:756
给出 3. 0-999 之间的数字:223
给出 4. 0-999 之间的数字:999
给出 5. 0-999 之间的数字: 0
给 6. 0-999 之间的数字: 123
给 7. 0-999 之间的数字: 23
给 8. 0-999 之间的数字: 44
给 9. 0-999 之间的数字: 533
你的话是 ryqbaAsQn

这是我的代码

#coding:utf-8
path = "7-3_tiedosto.txt"
lst = Array.new 
word = Array.new
text = ""

puts "Luodaan salasana."

for i in 1..9
   print "Anna #{i}. luku väliltä 0-999: "
   lst.push(gets.to_i)
end

my = File.open(path, "r")
my.each{|line| word.push(line.chomp)}
my.close

for i in 0..8
   a = lst[i]   
   text = text << word[a]
end

puts "Ohjelma loi salasanan #{text}"
4

1 回答 1

0

这看起来是熟悉 ruby​​ 调试的好机会。当您的程序状态与预期不同时,就会出现此类问题。您需要弄清楚为什么状态与您的预期不同,然后采取纠正措施。

我建议尝试 1)在程序执行时使用 put 语句打印出程序状态,或者 2)在程序运行时使用 ruby​​ 调试器单步执行程序以验证状态。

这是调试入门:http ://ruby.about.com/od/advancedruby/a/debugging.htm

希望有帮助!这类问题总是会出现,因此学习如何解决它们很重要。祝你好运。

于 2013-05-18T16:04:51.150 回答