我試圖將數組數組傳遞給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 |放線}'。 –