Vorlage Dokumentation#call
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

#call

Aufruf eines externen Unterprogramms

Syntax

#call <Proc> [<Arg1> [<Arg2> [...]]]

Beschreibung

Ruft ein Unterprogramm mit dem Namen Proc auf. Dabei werden die Argumente Arg1, Arg2 usw. übergeben.

Unterprogramme werden in externen Dateien mittels #proc formuliert und beim Aufruf von Vorlage mittels der Option '-I <Dateiname>' eingebunden.

Achtung: Wenn die Argumente von dem Unterprogramm verändert werden und der Aufruf selbst aus einem Unterprogramm erfolgt, müssen diese Argumente wiederum Übergabeparameter sein.

Parameter

Proc Name des aufzurufendes Unterprogrammes.
Arg1 Arg2 Parameter die an das Unterprogramm übergeben werden sollen.

Beispiel

Gegeben sei ein Unterprogramm:

#proc Holzfaeller $Bestand
{
    $h=region.baeume-$Bestand
    #if $h>0 { MACHE $h Holz } else { LERNE Holzfaellen }
}

Dann kann es wie folgt genutzt werden:

EINHEIT f00; Die Holzer [5,150$] hinten
  // #call Holzfaeller 600
  ; Eine Runde noch ohne Automatisierung holzen:
  MACHE Holz

Das ergibt z.B. bei einem Baumbestand von 630 in der Region in der nächsten Vorlage:

EINHEIT f00; Die Holzer [5,100$] hinten
  // #call Holzfaeller 600
  MACHE 30 Holz

Referenzen

#proc, #func

Revision 18 Nov 2004

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