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