>>22,23 を参考にして、Rubyの関数型プログラミング・スタイルで....
def make_table(list, n = 3)
(
['<table>'] +
list.each_slice(n).map { |cols|
'<tr>' + cols.map { |col| "<td>#{col.to_s}</td>" }.join + '</tr>'
} +
['</table>']
).join("¥n")
end
puts make_table([1,2,3,4,5,6,7])