2017-03-06 51 views
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」, 「綠色」]

回答

0

如果已被輸出的陣列看起來像這樣:

[1, "HA-312424242", "Green"] 

然後,你可以調用join方法上這樣說:

[1, "HA-312424242", "Green"].join(' ') 

,它會產生:

"1 HA-312424242 Green" 
+0

你好,這還真管用,但現在因爲輸出是這樣的「1 HA-312424242綠色」,「2 HA-312342323-323黑」,「3 HA-323232-12132紅」怎麼我有另外一個問題,我可以通過我的數組將下一個輸出移動到下一行。謝謝Mark! – Rynx

+0

你能直接輸入'puts [1,「HA-312424242」,「Green」]。join('')'? – Mark

+0

我不能因爲我得到用戶的輸入這是我的代碼現在把「插槽號註冊號顏色」 parking.sort! 放置parking_lot.join(''),並且每當用戶輸入一個新的汽車信息時,輸出水平轉動,我希望每個輸出都在下一行。反正謝謝! :) – Rynx

相關問題