2013-05-18 27 views
-2

我有紅寶石的功課有問題。查找在TXT特定字符通過索引

有1000個字符(一個每行)
txt文件所以程序詢問用戶9個號碼0..999
,它應該發現,並從文件打印9個字符

實施例之後輸出
給1號之間0-999:999:0-999之間444
給2.號碼:0-999之間756
給3.號碼:0-999之間223
給4.數
給5.數之間0-999:給44
:0-999之間0
給6.號碼:0-999之間123
給7.號碼:0-999之間23
給8.數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

你的問題是什麼? –

+0

它給最後一個循環的錯誤, 像字數組包含零 那麼從txt獲取特定行的方法是什麼以及爲什麼 數組「字」可能包含零? – Satael

+0

+1承認它是功課 –

回答

0

這看起來像一個很好的機會來熟悉紅寶石調試。當您的程序狀態與預期不同時,會出現類似問題。這是由你來弄清楚爲什麼狀態與你期望的不同,然後採取糾正措施。

我建議你嘗試:1)使用put語句打印出程序的狀態,而你的程序執行或2)使用Ruby調試步驟通過你們的節目,因爲它正在運行,以驗證狀態。

這裏的調試底漆:http://ruby.about.com/od/advancedruby/a/debugging.htm

希望幫助!這些問題總是出現,所以學習如何處理這些問題很重要。祝你好運。