gpt4 book ai didi

Ruby:作为变量的条件不起作用

转载 作者:行者123 更新时间:2023-12-05 09:33:03 24 4
gpt4 key购买 nike

刚开始学习 Ruby 中的循环和流控制,但一直坚持这个练习。我一直在测试和寻找答案,但没有找到任何答案,所以我在此处发布。

如果我的代码设置如下:

ask_play = ''
loop do
print "Play?: "
ask_play = gets.chomp
break if (ask_play == 'n') || (ask_play == 'N')
end

然后我在输入n或N后退出循环。

但是,如果我的代码设置如下:

ask_play = ''
play_stop = (ask_play == 'n') || (ask_play == 'N')
loop do
print "Play?: "
ask_play = gets.chomp
break if play_stop
end

条件好像不行。即使在输入 n 或 N 后,我仍然继续循环,我只是不明白为什么。

最佳答案

play_stop = (ask_play == 'n') || (ask_play == 'N') 在循环开始之前得到评估。它将 play_stop 变量设置为 false 因为您分配给空字符串的 ask_play 变量既不是 n 也不是N。看起来您想封装条件的逻辑。您可以创建一个方法并向其传递一个值。

def play_stop(input)
input == 'n' || input == 'N'
end

loop do
print "Play?: "
ask_play = gets.chomp
break if play_stop(ask_play)
end

关于Ruby:作为变量的条件不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67534421/

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