Vorlage Dokumentation#while
Allgemeines
   Aufruf
   Einleitung
   Installation
   Konfiguration
   Syntax
Einführung
   MetabefehlsAusdruecke
   MetabefehlsSyntax
   RegulaereAusdruecke
   VordefinierteVariablen
Funktionen
   abs()
   after()
   and()
   antoi()
   before()
   ceil()
   change()
   close()
   crop()
   equals()
   exp()
   flatten()
   float()
   floor()
   int()
   isnothing()
   itoan()
   length()
   log()
   log10()
   match()
   not()
   open()
   or()
   random()
   read()
   readline()
   sign()
   status()
   statustext()
   substr()
   system()
   time()
   tolower()
   toupper()
   typeof()
   write()
   writeline()
   xname()
   xor()
Metabefehle
   #after
   #array
   #break
   #call
   #config
   #const
   #debug
   #default
   #dict
   #else
   #every
   #forever
   #func
   #if
   #ifregion
   #ifunit
   #include
   #input
   #message
   #next
   #notrace
   #proc
   #return
   #sort
   #table
   #tag
   #trace
   #var
   #while
Rückruf-Prozeduren
   CalcUnitCapacities
   CreateRegionHeader
   CreateUnitHeader
   EndRegion
   EndUnit
   OnBuilding
   OnExit
   OnInit
   OnRegion
   OnShip
   OnUnit
   OutputLineFilter
Report-Objekte
   building
   grenze
   partei
   preise
   races
   region
   report
   ship
   things
   unit
Anhang
   Danksagungen
   SkriptDebugger
   VorlageFAQ

#while

Schleife für Durchläufe in Unterprogrammen und Funktionen

Syntax

#while <Bedingung> { <Befehl1> [: <Befehl2> [: ...]] }

Beschreibung

Mit diesem Metabefehl werden Schleifen in Unterprogrammen ermöglicht. Der Befehlsblock wird solange wiederholt bis die Bedingung nicht mehr erfüllt ist. Schleifen können nur in Unterprogrammen verwendet werden.

ALERT! ACHTUNG: Es können so natürlich auch Endlosschleifen entstehen, und Vorlage beendet sich dann nicht!

Beispiel

#proc Attack $Partei
{
    $EIdx=0
    #while $EIdx<region.einheiten
    {
        #if region.unit[$EIdx].partei==$PNum
        {
            ATTACKIERE region.unit[$EIdx].nummer
        }
        $EIdx=$EIdx+1
    }
}

Aufgerufen mit '#call Attack 123' wird gegen alle Einheiten der Partei 123 ein ATTACKIERE-Befehl erzeugt. (Nein, ich kenne keine Partei 123 und hab auch nichts gegen die!)

Referenzen

#proc, #func

Revision 20 Jul 2003

Page design, graphics and contents (c) copyright 1999-2004
by S.Schümann and contributing authors