我有这种情况:
arr1 = [1, 2, 3, 4]
arr1.each do |num|
if num == arr1.last
print "#{num}\n"
exit
else
print "#{num} x "
end
end
并且我必须像打印一个变量一样将其打印出来,也许叫做num_printer,这样如果我写
puts num_printer
它应该打印出来
1 x 2 x 3 x 4
但是我不知道该怎么做。 谁能帮我吗?
答案 0 :(得分:1)
Maxim在答案中指出,有更简单的方法可以实现此目的,但是要回答您的问题,您可以通过初始化一个空的字符串变量,然后在each
块中将文本附加到变量中来完成此操作。打印它:
arr1 = [1, 2, 3, 4]
nums_str = ""
arr1.each do |num|
if num == arr1.last
nums_str << num.to_s
else
nums_str << "#{num} x "
end
end
puts nums_str
# => 1 x 2 x 3 x 4
答案 1 :(得分:0)
基本上,您想在元素之间插入一些东西(在您的情况下为'x')并输出结果。使用join
puts arr1.join(' x ')