代码:
arr = [[1,2,3],[4,5,6],[7,8,9]]
a=0
b=0
while b <= 2
a=0
while a <= 2
print arr[a][b]
a+=1
end
b+=1
puts " "
end
输出:
147
258
369
有没有更快的方法来达到同样的结果?
我只是一个初学者,所以不要让它太有。
代码:
arr = [[1,2,3],[4,5,6],[7,8,9]]
a=0
b=0
while b <= 2
a=0
while a <= 2
print arr[a][b]
a+=1
end
b+=1
puts " "
end
输出:
147
258
369
有没有更快的方法来达到同样的结果?
我只是一个初学者,所以不要让它太有。
您可以puts
为每一行使用。
arr.transpose.each{|l| puts "#{l.join} "}
会给出与您相同的结果,但也许您想要
arr.transpose.each{|l| puts l.join}
是的,使用#join
方法:
print arr.transpose.map { |a| a.join('') }.join(' ')
或者如果每个值应该在不同的行,那么你可以写
puts arr.transpose.map { |a| a.join('') }
这应该这样做:
arr = [[1,2,3],[4,5,6],[7,8,9]]
puts arr.transpose.map(&:join).join(' ')
# => 147 258 369