Ruby 如何将变量设置为if条件
我有这种情况:Ruby 如何将变量设置为if条件,ruby,Ruby,我有这种情况: arr1=[1,2,3,4] arr1.每个do | num| 如果num==arr1.last 打印“#{num}\n” 出口 其他的 打印“#{num}x” 结束 结束 我必须把它打印成一个变量,可能叫做num_printer,这样如果我写 put num\u打印机 它应该打印这个 1x2x3x4 但我不知道怎么做。 有人能帮我吗?基本上,您希望在元素之间插入一些东西(在您的例子中是“x”)并输出结果。使用 puts arr1.join('x') 正如Maxim在回答中
arr1=[1,2,3,4]
arr1.每个do | num|
如果num==arr1.last
打印“#{num}\n”
出口
其他的
打印“#{num}x”
结束
结束
我必须把它打印成一个变量,可能叫做num_printer,这样如果我写
put num\u打印机
它应该打印这个
1x2x3x4
但我不知道怎么做。
有人能帮我吗?基本上,您希望在元素之间插入一些东西(在您的例子中是“x”)并输出结果。使用
puts arr1.join('x')
正如Maxim在回答中指出的那样,有更简单的方法来实现这一点,但要回答您的问题,您可以通过初始化空字符串变量,然后在中的每个块中向变量追加文本而不是打印它来实现:
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
arr1=[1,2,3,4]
nums_str=“”
arr1.每个do | num|
如果num==arr1.last
nums_str我看不到定义的num_printer
方法…“可能被称为num_printer”@orde…arr1.最后一个
是可疑的-如果在最后一个之前还有4个呢?@steenslag我同意,但这是OP的问题。