Вы полагаетесь на значение по умолчанию to_s массива. #each возвращает сам массив. Так что вы делаете то же самое, что ставит WINNING_ROWS. Кроме того, имейте в виду, что put добавляет в конце новую строку, поэтому, если вы не хотите, чтобы вам приходилось использовать запись (которая недоступна в модуле ядра, как put is, вы должны вызывать ее непосредственно на выходе STDOUT). ).
Вы, вероятно, хотите что-то вроде:
WINNING_ROWS = [[1,2,3],[4,5,6]]
WINNING_ROWS.each {|row| STDOUT.write row.inspect }
=> [1, 2, 3][4, 5, 6]
# or this may work for you as well
# STDOUT.write WINNING_ROWS.inspect