Wettbewerb VO Treff 2008

 

Im "VO"-Code waren ein paar Fehler versteckt:

1. DOWHILE ! Empty("Bottle") => zwischen DO und WHILE gehört ein Leerzeichen
2. RETURN:SELF:Bottle => auch nach RETURN fehlt das Leerzeichen, dafür ist der Doppelpunkt zu viel
3. ReFill("Bottle") => wird (leider!) nie durchlaufen... (Der Kardinalfehler!)


Der Wettbewerbsgewinner macht folgenden Vorschlag:

Ich würde das Programm ja eher in folgende Richtung codieren: <g>

LOCAL oBottle AS Whisky
LOCAL uHangOver AS Feeling
  oBottle := Whisky{ "\Cellar\Single Malt", FO_DENYREAD }
  DO WHILE ! oBottle:EoB
    IF oBottle:AlmostConsumed
      SELF:EnjoyRest( oBottle )
      oBottle:SkipNext()
    ENDIF
  uHangOver += SELF:RetrieveContent( oBottle )
  ENDDO
RETURN uHangOver


Mit freundlichen Grüßen / With best regards, Markus Feser