Annoteringar

Annoteringar

> LeekScript

För närvarande finns det 7 annoteringar. De kan användas framför en funktion eller en metod för att ange ytterligare information. De gäller även lokala variabler, globala variabler och klasser. I redigeraren visas dokumentationen för varje annotering när du håller muspekaren över den.

Hur använder man annoteringar?

För att använda en annotering kan du skriva:

eller

Annoteringar kan också kombineras:

Befintliga annoteringar

@deprecated

En funktion eller metod med annoteringen @deprecated ger en varning vid kompilering när den anropas. Det anger att funktionen inte längre ska användas och att den kommer att tas bort senare.

Till exempel:

@todo

En funktion eller metod med annoteringen @todo lägger till en varning av typen todo vid kompilering, för att ange att den inte är färdig.

@unused

En funktion eller metod med annoteringen @unused ger ingen varning om den inte används. Det är särskilt användbart i strikt läge om funktionen är implementerad men koden inte anropar den.

Till exempel:

Observera: att sätta prefixet _ på ett namn (till exempel var _resultat) tar redan bort varningen "används inte", utan någon annotering.

@nodiscard

En funktion eller metod med annoteringen @nodiscard ger en varning om dess returvärde inte används.

@pure

För närvarande har @pure samma effekt som @nodiscard. Men @pure innebär mer än så:

En ren funktion får inte ändra tillstånd och får inte ha några sidoeffekter. Det vill säga att den inte får ändra variabler utanför sitt scope, och den måste vara deterministisk (ingen slump).

@override

En metod med annoteringen @override talar om för utvecklaren att den ändrar implementationen av en metod i föräldraklassen.

Till exempel:

@tailrec

En funktion eller metod med annoteringen @tailrec anger att den är svansrekursiv: det betyder att funktionen är rekursiv och att det rekursiva anropet är den sista instruktionen i funktionen.

Annoteringen kan vara användbar för kompilatorn, men används för närvarande aldrig.