【发布时间】:2022-01-05 09:33:10
【问题描述】:
我正在用 Ruby 构建一个井字游戏。为了确定是否有人赢得了比赛,我有一个二维数组 check_array,它包含您可以用来获胜的所有可能的集合。我想看看检查数组中的任何一个数组是否具有所有相同的元素。我的 javascript 大脑很难弄清楚如何在 Ruby 中做到这一点。我很困惑没有我的卷发来描绘这个街区。我理解这种语法:
if check_array.any? {|row|row.uniq.count == 1}
@winner = @whos_turn
winning
end
但是,如果我需要为我的 any 使用多条逻辑线怎么办?逻辑。会不会是这个样子?
if check_array.any? do |row|
row.uniq.count == 1
<<some more code>>
end
@winner = @whos_turn
winning
end
【问题讨论】:
-
<<some more code>>应该在any?的doend之外。 -
可以,但这取决于您想要实现的目标。如果传递给
any?的块返回true,则if将为true。由于该块可以包含任意数量的代码(和逻辑),因此您可以在其中做任何您想做的事情。
标签: arrays ruby conditional-statements