Vereinfachung von Variablendeklarationen und -zuweisungen in einer einzigen Zeile

Mit 4D v20 R3 können Sie sich von der Zeit verabschieden, in der Sie mehrere Codezeilen für Variablendeklarationen und -zuweisungen schreiben mussten. Jetzt können Sie Ihren Code rationalisieren, Redundanzen beseitigen und die Effizienz mühelos steigern.

Und so geht’s!

Bis jetzt konnten wir schreiben:

var <variableName> : <type>

Wir verbessern diese Syntax, damit Sie Ihre Variable in einer einzigen Zeile deklarieren und initialisieren können.

abgeleiteter Typ

var <variableName> := <value>

Hier wird der Typ weggelassen und vom Compiler oder Interpreter auf der Grundlage des angegebenen Wertes bestimmt. Es ist ratsam, diesen Ansatz ausschließlich bei skalaren Typen zu verwenden, die von Werten, Befehlen oder Methoden stammen, um Kompilierungsfehler zu vermeiden.

Beispiel:

//BLOB
var $vxBlob : Blob
INTEGER TO BLOB(0x0206; $vxBlob; Native byte ordering)
var $blob:=$vxBlob
//Boolean
var $bool:=True
//Null
var $null:=Null
//Real
var $num:=(569/2)
//Object
var $obj:={att1: 1}
//Pointer
var $point:=->$obj
//Text
var $text:="Hello"
//Collection
var $col:=[1; 2; 3]
//Date
var $date:=Current date
//Time
var $time:=Current time
//Picture
var $pict : Picture
var $image:=$pict

Wenn Sie diesen Schreibstil verwenden, denken Sie daran, dass 4D versucht, den allgemeinsten Typ abzuleiten. Zum Beispiel verwendet 4D den Typ Real und nicht den Typ Integer, wenn eine Variable mit 10 initialisiert wird. So können Sie diese Variable mit jeder Art von Berechnung verwenden. Wenn Sie eine Integer-Variable verwenden möchten, müssen Sie den Typ Ihrer Variablen explizit deklarieren.

Deklarierter Typ und Initialisierung

var <variableName> : <type> := <value>

Hier wird die Variable mit dem angegebenen Typ erstellt und dann mit dem Wert initialisiert.

Dieser Deklarationstyp muss verwendet werden, wenn Sie eine Variable mit einem komplexen Typ wie ein Klassenattribut, eine Interprozessvariable oder eine globale Variable initialisieren. Wenn Sie den Typ in diesen Fällen nicht angeben, wertet der Interpreter den Ausdruck aus und leitet den Typ ab, während der Compiler nicht in der Lage ist, den Typ abzuleiten und stattdessen einen Variantentyp verwendet. Ein Beispiel:

var $myClass:={myAttribute: "Hello there!"}
var $myAttribute:=$myClass.myAttribute
// The interpreter knows the type of $myClass.myAttribute: $myAttribute is a declared as Text
// The compiler doesn't know the type of $myClass.myAttribute: $myAttribute is a declared as variant

Tauchen Sie also in die Dokumentation ein, erforschen Sie die unendlichen Möglichkeiten, die diese Funktion bietet, und erleben Sie aus erster Hand, wie diese bahnbrechende Neuerung die Zukunft Ihrer Codierungsbemühungen prägen wird. 

Diskutieren Sie mit im 4D Forum.

Fabrice Mainguené
- Product Owner -Fabrice Mainguené gehört seit November 2016 zum 4D Program Team. Als Product Owner ist er verantwortlich für das Schreiben der User Stories und deren Umsetzung in funktionale Spezifikationen. Seine Aufgabe ist es auch, sicherzustellen, dass die gelieferte Funktionsimplementierung den Kundenanforderungen entspricht.Nach seinem Bachelor-Abschluss in Informatik am CNAM arbeitete Fabrice als Windev-Entwickler bei einem kleinen Software-Verlag. Danach arbeitete er für verschiedene Unternehmen in Industrie und Handel als Windev- und Webentwickler sowie als technischer Berater für neue Funktionen.