Voglio creare una nuova funzione Lua.estensione Lua: controllare il numero di parametri passati a una funzione
Posso utilizzare la funzione con i parametri (sto seguendo this link) per leggere i parametri di funzione.
static int idiv(lua_State *L) {
int n1 = lua_tointeger(L, 1); /* first argument */
int n2 = lua_tointeger(L, 2); /* second argument */
int q = n1/n2; int r = n1 % n2;
lua_pushinteger(L, q); /* first return value */
lua_pushinteger(L, r); /* second return value */
return 2; /* return two values */
}
Mi piacerebbe sapere se c'è un modo per conoscere il numero di parametri passati ad una funzione, al fine di stampare un messaggio se l'utente non chiama la funzione con due parametri.
voglio eseguire la funzione quando l'utente scrive
idiv(3, 4)
e stampare un errore quando
idiv(2)
idiv(3,4,5)
and so on...
La pratica usuale in Lua non è per lamentarsi argomenti extra. – lhf
E che dire di meno argomenti? – Jepessen
Meno argomenti è un'altra storia. Se è possibile utilizzare impostazioni predefinite appropriate, farlo. Altrimenti, genera un errore. – lhf