2012-11-04 4 views
5

Der Versuch, Ruby mit den neuen Lernprogrammen von LearnStreet zu lernen.Stuck auf LearnStreet Ruby Training. Simple Ruby Code

Haben versucht, Hilfe über ihre Q & A-System zu bekommen, aber es scheint niemand beantwortet sie.

„Können Sie jetzt implementieren das zurückziehen! Methode auf Kontoobjekt, das einen Parameter Menge nimmt und reduziert das Gleichgewicht durch die spezifizierte Menge? Nach der Methode zu definieren, gehen Sie vor und zurückziehen 100 Dollar vom Konto und überprüfe das Gleichgewicht. "

ist die Frage, und ich habe die beiden Noten von

"Tipp 1 Der Code @balance = @balance -. Menge reduziert die Menge von @balance

Tipp 2 Dann rufen das Verfahren zurückziehen auf dem Kontoobjekt -! account.withdraw (100) "

Mein Versuch war

.
def 

account.widthdraw! 

@balance = @balance - amount 

end 

account.withdraw!(100) 

Irgendwelche Ideen, die ich vermisse?

Antwort

3

„Können Sie jetzt implementieren das zurückziehen! Methode auf Kontoobjekt, die Menge einen Parameter und reduziert die Balance um den angegebenen Betrag? Nach der Methode zu definieren, gehen Sie vor und zurückziehen 100 Dollar aus dem Konto und überprüfe das Gleichgewicht. "

Ein Schritt zu einer Zeit:

  • „Können Sie jetzt implementieren, um die zurückziehen Verfahren wegen Objekt

    class Account 
        def withdraw! 
        end 
    end 
    
  • , die einen Parameter Menge nimmt ...

    !
    class Account 
        def withdraw!(amount) 
        end 
    end 
    
  • und reduziert den balan ce um den angegebenen Betrag?

    class Account 
        def withdraw!(amount) 
        @balance = @balance - amount 
        end 
    end 
    
  • Nach der Methode zu definieren, gehen Sie vor und 100 Dollar aus dem Konto abheben und die Balance überprüfen „

    account = Account.new 
    account.withdraw!(100) 
    
2

Ich denke, du würdest so etwas wollen.

class Account 

    def withdraw! amount 
     @balance -= amount 
    end 

end 
+1

Um für @ user1739696 zu klären, ist '@balance = @balance - amount 'in den meisten Fällen gleichbedeutend mit' @balance - = amount.' Definiert über 'def account.with zeichnen! 'wird in bestimmten Fällen funktionieren, aber es ist nicht richtig für diesen Fall.Auch das große Ding, das Sie hier vermisst haben, war der 'Betrag' Parameter. (Sorry @alex, nicht versuchen, über Ihre Antwort zu treten) –

+2

@JimDeville Ich schätze die Klarstellung, danke. Ich bin kein Ruby-Experte, daher wird Ihr Feedback geschätzt. – alex

0

Dies ist die Antwort auf diese Frage.

def account.withdraw!(amount) 
    @balance = @balance - amount 
end 
account.withdraw!(100)