-2

Ruby の宿題に問題があります。

1000 文字 (各行に 1 つ) の txt ファイルがあるため、
プログラムはユーザーに 9 つの数字 0..999 を要求します。
その後、ファイルから 9 文字を見つけて出力する必要があります。

出力例
Give 1. 0 ~ 999 の数値: 444
Give 2. 0 ~ 999 の数値: 756
Give 3.
0 ~ 999 の数値: 223 Give 4
. : 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 に答える