Vorlage Dokumentationisnothing()
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

isnothing()

Test auf Wertfreien Inhalt

Syntax

<int>=isnothing(<expr>)

Beschreibung

Die Funktion ergibt für leere Variable (typlose Werte) einen Wert ungleich 0, sonst den Wert 0.

Parameter

expr Ausdruck der geprüft werden soll, ob er nichts enthält. (Achtung: Nichts ist in diesem Fall weder 0 noch ein Leerstring!)

Beispiel

Nehmen wir an, das wri in einem Dictionary $NeedsMoney für jede Einheit (übergeben in $ENr) ablegen wollen, wieviel Geld sie braucht. Weiterhin soll das in mehreren Stufen geschehen können, also z.B. aus der Variablen $Money aufaddiert werden.

Das innere #if sieht dann z.B. so aus:

; Gibt es schon einen Eintrag im Dictionary?
#if isnothing($NeedsMoney[$ENr])
{
    ; Nein, also ersten Bedarf setzen
    $NeedsMoney[$ENr]=$Money
}
#else
{
    ; Ja, also Bedarf zu bestehendem addieren
    $NeedsMoney[$ENr]=$NeedsMoney[$ENr]+$Money
}

Würde man einfach nur den Teil im #else-Fall verwenden, bekäme man eine Fehlermeldung die besagt, das man nicht mit Typlosen Operanden rechnen könne, weil der Zugriff auf $NeedsMoney[$ENr] beim ersten mal ja einen typlosen Wert zurückgibt.

Referenzen

-

Revision 21 Apr 2004

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