Я думаю, что это логически эквивалентно:
def position_taken?(board, move)
!(board[move] == " " || board[move] == "" || board[move] == nil)
end
Если какое-либо из условий выполняется, оно будет инвертировано и вернет false.Если все условия ложные, оно будет инвертировано в истинное.
Вы также можете поместить строки, с которыми вы хотите сопоставить, в массив и использовать что-то вроде !include?
или, если выПовторно используя ActiveSupport
, вы можете использовать exclude?
.
def position_taken?(board, move)
["", " ", nil].exclude?(board[move])
end