Skip to content

[FR] 5. Accesseurs de variables

Nicolas BOITEUX edited this page Nov 29, 2017 · 4 revisions

Paramétrer une valeur de variable à l'intérieur de l'objet (MEMBER)

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);

Récupérer la valeur d'une variable depuis l'objet

Vous pouvez récupérer une variable encapsulée dans l'objet via le mot clef MEMBER avec nil

private _yourvariable = MEMBER("foo", nil);

Récupérer la valeur d'une variable depuis l'extérieur

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");