Head First Ruby - #{10 - num_guesses}错误

时间:2017-05-22 14:58:03

标签: ruby

这是书本代码。他不工作......

# Get My Number Game
# Written by: you!
puts "Welcome to 'Get My Number!'"
# Получение имени игрока и вывод приветствия.
print "What's your name? "
input = gets
name = input.chomp
puts "Welcome, #{name}!"
# Сохранение случайного числа.
puts "I've got a random number between 1 and 100."
puts "Can you guess it?"
target = rand(100) + 1
# Отслеживание количества попыток.
num_guesses = 0
# Признак продолжения игры.
guessed_it = false
until num_guesses == 10 || guessed_it
puts "You've got #{10 — num_guesses} guesses left."
print "Make a guess: "
guess = gets.to_i
num_guesses += 1
# Сравнение введенного числа с загаданным
# и вывод соответствующего сообщения.
if guess < target
  puts "Oops. Your guess was LOW."
elsif guess > target
  puts "Oops. Your guess was HIGH."
elsif guess == target
  puts "Good job, #{name}!"
  puts "You guessed my number in #{num_guesses} guesses!"
guessed_it = true
  end
end
# Если попыток не осталось, сообщить загаданное число.
  unless guessed_it
puts "Sorry. You didn't get my number. (It was #{target}.)"
end 

错误:

test.rb:18: syntax error, unexpected tIDENTIFIER, expecting t│ => String 
STRING_DEND                                                  │2.4.0 :016 > name * 3
puts "You've got #{10 — num_guesses} guesses left." 

1 个答案:

答案 0 :(得分:2)

我不确定10num_guesses之间的字符是什么,但它可能是连字符。

#{10 — num_guesses}

它不是减号,看起来像这样......

#{10 - num_guesses}

您使用哪种编辑器输入代码?

无论如何,将连字符更改为减号,这将解决您的问题。