我必须做一个红宝石游戏,猜测一个包含函数但不断出错的随机数

I have to make a ruby game of guessing a random number that incorporates functions but keep getting errors

提问人:Bheki Fuzwayo 提问时间:3/26/2021 更新时间:3/26/2021 访问量:107

问:

代码如下: 首先是检查功能

  def check ( int, r_int)
    if int < r_int
    puts "Guess Higher"
    tries = tries + 1

    elsif int > r_int
    puts "Guess Lower"
    trie = tries + 1
    
    elsif int == r_int
    win = true
    puts "You are correct"
    puts "You had attempted this "+ tries.to_s + " times to win"
    
    gets.chomp

    end


end

那么这是主要功能:

def main

tries = 0
win = false

puts "Lets play a game!"
puts "I am thinking of a number between 1 and 100"
puts "Have a guess"
rnd_int = rand(100)

while not win

    guess = gets.chomp.to_i
    value = check (guess, rnd_int)
    puts value.to_s
    
    


end

end

main

这是错误: number_game.rb:42:语法错误,意外的“)”,预期为“=” value = check(猜测,rnd_int) 不知道该怎么做

Ruby 语法错误

评论

0赞 SteveTurczyn 3/26/2021
错误在第 42 行 我不确定您的代码的哪一行与...但请注意,如果有多个参数,则不应在方法和其参数之间放置空格。替换为并删除后面的空格。这样做的原因是,如果你有一个空格,它会将参数视为一个参数,而不是两个参数,并且number_game.rbcheck (guess, rnd_int)check(guess, rnd_int)def check(guess, rnd_int)guessrnd_int
0赞 Bheki Fuzwayo 3/26/2021
number_game.rb 是文件的名称。谢谢你现在就试试
0赞 tadman 3/26/2021
⟼请记住,保持代码尽可能井井有条总是很重要的,尤其是在 Stack Overflow 上学习和提问时。一致的缩进有助于传达结构,更重要的是,有助于传达意图,这有助于我们快速导航到问题的根源,而无需花费大量时间试图解码正在发生的事情。
0赞 tadman 3/26/2021
提示:对于整数数值,如果您已经测试过,那么唯一剩下的可能性是 ,所以您可以这样做。没有理由具体说明。a > ba < ba == belse
0赞 tadman 3/26/2021
提示:为避免出现类似 的拼写错误,请使用 .trie = tries + 1tries += 1

答:

0赞 Sara Fuerst 3/26/2021 #1

此行发生错误:

value = check (guess, rnd_int)

调用方法时,方法名称和参数列表之间不应有空格。在这种情况下,调用该方法的正确方法是:

value = check(guess, rnd_int)

该错误可能有点令人困惑。它告诉你 Ruby 解释器被 .这告诉您,错误很可能在代码中的此点之前出现。)

有关更多信息,请查看有关方法的一些文档: https://www.w3resource.com/ruby/ruby-methods.php