我的Ruby作业存在问题。
有一个包含1000个字符的txt文件(每行一个)
所以程序要求用户提供9个数字0..999
之后,它应该从文件中找到并打印9个字符
示例输出
在0-999:444之间给出1.数字
给2.编号在0-999:756之间
给3.编号在0-999:223之间
在4.-999:999之间给出4.数字
在5.-999:0之间给出5.数字
给出数字在0-999:123之间
在0-999:23之间给出7.数字
在0-999:44之间给出8号
给出数字在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}"
答案 0 :(得分:0)
这看起来是一个熟悉ruby调试的好机会。当您的程序状态与预期不同时,会出现类似这样的问题。由您决定为什么状态与您预期的不同,然后采取纠正措施。
我建议尝试使用put语句在程序执行时打印出程序状态,或者2)使用ruby调试器在程序运行时逐步执行程序以验证状态。
以下是有关调试的入门知识:http://ruby.about.com/od/advancedruby/a/debugging.htm
希望有所帮助!这些问题一直存在,因此学习如何处理这些问题非常重要。祝你好运。