case 문에 숫자 배열을 전달하려고합니다. 예 : 사용자에게 값 12를 입력하도록 요청합니다. 그런 다음 배열 [1,2]로 분할합니다. 그런 다음 메서드 케이스 문으로 전달합니다. 내 사례 문장은 1과 2의 디지털 형식을 출력하는 것입니다.배열의 개별 요소를 Ruby의 case 문에 전달합니다. - LCD 디스플레이 번호
내 호 : 1 요소의 입력 이상을 인쇄 할 수 없습니다. 1과 2를 모두 하나의 배열로 디지털 숫자로 출력 할 수 있습니까? 또는 사용자 입력을 사용합니까? 내 코드가 멀리 떨어져 있습니까?
내 코드 :
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)
감사! 내가 각 경우에 위의 각 기능을 넣었 기 때문에 잠시 혼란 스러웠습니다. 내 두뇌에서 나는 당신이 가졌던 것을 생각했다. 그러나 나는 전에 정확하게 그것을 쓸 수 있다고 생각하지 않는다. – balee1991
디지털 번호를 어떻게 나란히 출력 할 수 있는지 알고 계십니까? 이후 각 번호를 통과하고 새로운 라인에 출력. 그들을 수평으로 배치하는 방법이 있습니까? 그래서 가로로 인쇄하는 대신 1 2를 수직으로 1, 2? – balee1991
숫자를 하나씩 인쇄하는 것은 불가능합니다. 각 줄을 변수에 저장할 수 있습니다. 'when'1 'lines [0] <<'| 'lines [1] <<' ''등등 ('lines'은 여기에 문자열의 배열입니다), 한 줄씩 인쇄합니다. 즉,'lines.each {| line | 줄을 넣는다.''. –