[FR] 5. Accesseurs de variables
Le mot clef MEMBER fonctionne comme un accesseur; MEMBER répond au principe standard d'encapsulation des donnnées. Il vérifie si une variable existe avec le même nom, et le bon type conformément à la déclaration de classe.
Vous pouvez définir la valeur d'une variable via l'utilisation du mot clef MEMBER
private _foo = "foo";
MEMBER("foo", _foo);
ou directement
MEMBER("foo", "foo");
Il existe certaines limitations lié au fonctionnement du préprocessor avec les array. Vous ne pouvez pas utiliser directement un array contenant des virgules comme :
MEMBER("foo", ["value1"`**,**` "value2"]);
Pour cela, vous devrez utiliser un tableau temporaire:
private _array = ["value1", "value2"];
MEMBER("foo", _array);
Par contre, l'initialiser comme cela fonctionne:
MEMBER("foo", []);
De la même façon, vous ne pouvez pas paramétrer une variable de cette façon:
MEMBER("foo", nil) = foo;
Mais vous pouvez utiliser les tableaux de cette façon:
MEMBER("foo", nil) pushback "foo";
De la même façon, vous pouvez également utiliser les tableaux de cette façon:
{ } foreach MEMBER("foo", nil);
Vous pouvez récupérer une variable encapsulée dans l'objet via le mot clef MEMBER
avec nil
private _yourvariable = MEMBER("foo", nil);
Vous pouvez récupérer la valeur d'une variable privée en utilisant une fonction publique en utilisant la macro FUNC_GETVAR
.
PUBLIC FUNCTION("","getMyVariable") FUNC_GETVAR ("getMyVariable");