我试图将数组数组传递给case语句。 例如:我要求用户输入一个值,例如12.然后我将它分成一个数组[1,2]。然后我将它传递给我的方法案例声明。我的案例陈述是输出1和2的数字格式。将数组中的单个元素传递给Ruby中的case语句 - LCD显示号码
我的问题: 我不能让它打印多于1个元素的输入。 如何输出1和2作为1数组的数字编号?或与用户输入?我的代码远吗?
我的代码:
puts "Enter numbers between 0-9 up to 2 digits: "
x = gets.chomp
x = x.split('')
def digital_number(n)
digits = n
#Start case for digit input
case digits
when ["1"]
puts " | "
puts " "
puts " | "
puts " "
puts n
when ["2"]
puts " - "
puts " |"
puts " - "
puts "| "
puts " - "
else
puts "That is not an available number."
end
end
digital_number(x)
Thanks!被困惑了一秒钟,因为我把.each函数放在我的案例之上。在我的大脑中,我想到了你所放的东西......但我认为之前我没有正确写下它。 – balee1991
你知道我现在可以并排输出数字吗?由于它遍历每个数字并将其输出到一个新行中。有没有办法将它们水平放置?所以它横向打印1 2而不是垂直1,2? – balee1991
如果您逐个打印数字,则不可能。您可以将每行保存为一个变量,即'when'1'lines [0] <<'| 'lines [1] <<'''等等('lines'是这里的一个字符串数组),然后逐行打印,即'lines.each {| line |放线}'。 –