-8

だから私はコードを持っています:

puts 'What is your name?(Enter in field below)'
input = gets.chomp
puts 'end'
occupationslist = ['Engineer', 'Clerk', 'Doctor', 'Demolition Expert', 'Athlete', 'None',]
oclistlength = occupationslist.length
rand1 = rand(oclistlength)
occupation = ocupationslist[rand1]
def occupations
  puts input
  puts 'Occupation: ' + occupation
  puts 'Rating: ' + rand(1-12).to_s  
end
occupations

あなたの名前(入力したもの)、ランダムな職業、ランダムな評価が表示されるはずですが、何が問題なのかわかりません。これは満足のいく出力です:

prints "What is your name?".
(gets user input)
prints out the input.
prints out a random 'occupation'(from the list in the array above).
prints out the 'Rating: ' - a random number from 0 to 12.
4

1 に答える 1

0

inputoccupation関数の範囲外で定義されていますoccupations$inputとを使用してグローバル変数として宣言するか$occupation、関数内で宣言するか、変数を関数の引数として渡します(Leeが提案したように)。

puts 'What is your name?(Enter in field below)'
$input = gets.chomp
puts 'end'
occupationslist = ['Engineer', 'Clerk', 'Doctor', 'Demolition Expert', 'Athlete', 'None',]
oclistlength = occupationslist.length
rand1 = rand(oclistlength)
$occupation = occupationslist[rand1]
def occupations
  puts $input
  puts 'Occupation: ' + $occupation
  puts 'Rating: ' + rand(1-12).to_s  
end
occupations

さらに、タイプミスがありました。oc* coccupation = occupationslist[rand1] * upationslist [rand1]の代わりに、ocupationslist [rand1]('c'なし)を記述しました。

于 2012-06-21T19:18:18.003 に答える