Test auf Wertfreien Inhalt
Syntax
<int>=isnothing(<expr>)
Die Funktion ergibt für leere Variable (typlose Werte) einen Wert ungleich 0, sonst den Wert 0.
expr | Ausdruck der geprüft werden soll, ob er nichts enthält. (Achtung: Nichts ist in diesem Fall weder 0 noch ein Leerstring!) |
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.
- Revision 21 Apr 2004
|