1
在輸入[0] =「status」的這個特定代碼中,我希望輸出刪除符號「」[],但是我不能似乎找到解決方案,我嘗試過使用每個,但我認爲我所做的是錯誤的,我是Ruby新手請幫助。謝謝!如何在Ruby中沒有符號和引用等的輸出等
class Main
puts "Welcome to the automated Parking Lot"
start = true
parking_lot = []
allocated_slot = 0
slot_number = 0
plate_number = ""
color = ""
x = ""
while (start == true) do
parking = Array.new
input = gets.split(' ')
case input[0]
when input[0] = "create_parking_lot"
parking_lot.clear
allocated_slot = input[1]
puts "Created a parking lot with #{allocated_slot} slots."
when input[0] = "park"
plate_number = input[1]
color = input[2]
if parking_lot.length < allocated_slot.to_i
slot_number = slot_number + 1
parking = [slot_number, input[1], input[2]]
parking_lot.push(parking)
parking_lot.sort!
puts "Allocated slot number: #{slot_number}"
else
puts "Sorry, parking lot is full"
end
when input[0] = "leave"
slot_number = input[1].to_i
puts "Slot number #{slot_number} is now free."
slot_number = slot_number - 1
parking_lot.delete_at(slot_number)
parking_lot[slot_number]
#puts parking_lot
when input[0] = "quit"
break
when input[0] = "status"
if parking_lot.count == 0
puts "No cars are parked."
else
puts "Slot No. Registration No. Color"
parking.sort!
i = 0
y = ""
while i < allocated_slot.to_i do
x = parking_lot[i].to_s
y = x.split(' ')
puts "#{y[0]} #{y[1]} #{y[2]}" #
#y.each { |a| print a, " " }
i = i+1
end
end
when input[0] = "registration_numbers_for_cars_with_color"
puts "registration number for cars"
when input[0] = "slot_numbers_for_cars_with_color"
puts "slot number for cars with color"
when input[0] = "slot_number_for_registration_number"
puts "slot number for registration number"
when input[0] = "check"
puts parking_lot
else
puts "Command Error"
end
end
和輸出是這樣的: [1, 「HA-312424242」, 「綠色」]
你好,這還真管用,但現在因爲輸出是這樣的「1 HA-312424242綠色」,「2 HA-312342323-323黑」,「3 HA-323232-12132紅」怎麼我有另外一個問題,我可以通過我的數組將下一個輸出移動到下一行。謝謝Mark! – Rynx
你能直接輸入'puts [1,「HA-312424242」,「Green」]。join('')'? – Mark
我不能因爲我得到用戶的輸入這是我的代碼現在把「插槽號註冊號顏色」 parking.sort! 放置parking_lot.join(''),並且每當用戶輸入一個新的汽車信息時,輸出水平轉動,我希望每個輸出都在下一行。反正謝謝! :) – Rynx