2016-08-02 8 views
0

Erstellen Sie eine Methode, die ein neuer Kunde bei der Eingabe des Deli verwendet. Die Methode take_a_number sollte zwei Argumente akzeptieren, das Array für die aktuelle Personengruppe (katz_deli) und eine Zeichenfolge, die den Namen der Person enthält, die der Linie beitreten möchte. Die Methode sollte den Namen der Person zusammen mit ihrer Position in der Zeile zurückgeben. Wie kann ich arrangieren, so dass das Array für die aktuelle Zeile gleich der Anzahl der Namen Array ist?

katz_deli = [] 
 

 
def line(array) 
 
    if array[0] == nil 
 
    puts "The line is currently empty." 
 
end 
 
end 
 

 
def take_a_number(array, name) 
 
    i=0 
 
    counter = 1 
 
    while array.count != name.length 
 
    array[i] = counter 
 
    i+=1 
 
    counter +=1 
 
    end 
 
    if array.count > 1 
 
    puts "The line is currently:" 
 
    end 
 
    name.each_with_index {|val, index| puts "#{index+1}. #{val}"} 
 
    end

Hier ist die Rspec Datei:

describe 'Deli Counter' do 
 

 
    let(:katz_deli) { [] } 
 
    let(:other_deli) { ["Logan", "Avi", "Spencer"] } 
 

 
    describe "#line" do 
 
    context "there is nobody in line" do 
 
     it "should say the line is empty" do 
 
     # This line checks the current standard output (your terminal screen) 
 
     # to make sure the correct output has been puts'ed. 
 
     expect($stdout).to receive(:puts).with("The line is currently empty.") 
 
     line(katz_deli) 
 
     end 
 
    end 
 

 
    context "there are people in line" do 
 
     it "should display the current line" do 
 
     expect($stdout).to receive(:puts).with("The line is currently: 1. Logan 2. Avi 3. Spencer") 
 
     line(other_deli) 
 
     end 
 
    end 
 
    end

Antwort

0

Ich war vor

Zeit auf der falschen Methode arbeiten