puts WINNING_ROWS.each{ |solution| "[ #{solution.map{ |space| "#{space}"}} ]"}
我尝试过上面的操作,但之后只是用新的行字符列出每个值。
我正在尝试获取输出:
[stuff,in,row,1]
[stuff,in,row,2]
etc
答案 0 :(得分:7)
如果这只是用于调试,通常的方法是说
p expression
或
puts expression.inspect
......这是一回事。
您也可以使用pp
。
require 'pp'
pp expression
pp(expr)
答案 1 :(得分:2)
可以这样做:
WINNING_ROWS = [[1,2,3],[4,5,6]]
WINNING_ROWS.map { |x| x.inspect }.join("")
这将为您提供按照您的要求格式化的字符串
答案 2 :(得分:1)
您依赖于Array的默认to_s。 #each返回数组本身。所以你所做的和WINNING_ROWS一样。另外,请记住,puts最后会添加一个换行符,所以如果你不想让你必须使用write(它在内核模块中不可用,就像puts一样,所以你必须直接在你的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