inline int Name( Args ) {
//body;
return x*y;
}
Définir et appeler des fonctions inline se fait comme pour les sous-routines. Dans l'exemple suivant, nous utilisons les fonction inline :
inline void turn_around()
{
OnRev(OUT_C, 75); Wait(900);
OnFwd(OUT_AC, 75);
}
task main()
{
OnFwd(OUT_AC, 75);
Wait(1000);
turn_around();
Wait(2000);
turn_around();
Wait(1000);
turn_around();
Off(OUT_AC);
}
On peu même rajouter des arguments :
inline void turn_around(int pwr, int turntime)
{
OnRev(OUT_C, pwr);
Wait(turntime);
OnFwd(OUT_AC, pwr);
}
task main()
{
OnFwd(OUT_AC, 75);
Wait(1000);
turn_around(75, 2000);
Wait(2000);
turn_around(75, 500);
Wait(1000);
turn_around(75, 3000);
Off(OUT_AC);
}
Notez que dans les parenthèses derrière le nom de la fonction inline nous spécifions ses arguments. Dans ce cas, nous indiquont que l'argument est un nombre entier (il ya d'autres possibilités) et que son nom est turntime. Quand il ya plusieurs arguments, vous devez les séparer par des virgules. Notez qu'en NXC, sub est comme void; En outre, les fonctions peuvent avoir d'autres types de retour que void, elles peuvent également renvoyer des valeurs entières ou une chaîne de caractère: pour plus de détails, consultez le guide NXC.
Dostları ilə paylaş: |