gpt4 book ai didi

ruby - Ruby中如何返回最开始的程序流程

转载 作者:太空宇宙 更新时间:2023-11-03 17:48:03 25 4
gpt4 key购买 nike

我的 Ruby 解决方案中有一个 Player 类。在类里面我可以定义两个玩家。我需要进行验证,如果玩家的名字相同,我需要发出一条消息,如果它们相同,我需要将我的程序返回到开头。下面是我的代码:

class Player
print "First player, put your name then press ENTER: "
name1 = gets.chomp
print "Second player, put your name then press ENTER: "
name2 = gets.chomp

if name1.eql?(name2)
abort "Put the different name for players!"
end

end

最佳答案

你需要一个循环

name1 = name2 = nil
while name1 == name2
print "First player, put your name then press ENTER: "
name1 = gets.chomp
print "Second player, put your name then press ENTER: "
name2 = gets.chomp

if name1 == name2
print "Put the different name for players!"
end
end

您可以将它放入一个对象中,但事实上,您的类根本没有任何意义。您定义了一个类,但随后您将所有代码放入类的主体中,甚至没有将其包装到方法中。

应该是

class Player
def play
name1 = name2 = nil
while name1 == name2
print "First player, put your name then press ENTER: "
name1 = gets.chomp
print "Second player, put your name then press ENTER: "
name2 = gets.chomp

if name1 == name2
print "Put the different name for players!"
end
end
end
end

然后你可以不调用它

player = Player.new
player.play

关于ruby - Ruby中如何返回最开始的程序流程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31050042/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com