¿Se puede hacer esto con LuaDEV?

¿Se puede hacer esto en LuaDEV?

//Nombre: Función con número variable de argumentos
//Autor: THC_Hack
 
#include <stdio.h>
#include <stdarg.h>
 
void listar (int numero_de_argumentos, ...);
 
void main (void)
{
  listar (5, 1, 6, 33, 77, 34);
}
 
void listar (int n, ...)
{
  va_list lista;
  int j;
  int k=1;
  va_start (lista, n);
  while (n>0)
  {
	j=va_arg(lista, int);
	printf("%d. %d\n", k, j);
	k++;
	n--;
  }
  va_end (lista);
}

Resultado:

1. 1
2. 6
3. 33
4. 77
5. 34



Anuncios Google

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.
Imagen de Chimecho

Seeep

Sin necesidad de pasar la cantidad de argumentos:

function listar(...)
   local tabla = {...} -- atención, aquí tomo los parámetros y los meto en una tabla
   for i=1, #tabla do -- #tabla es la longitud de la tabla, así no tienes que pasar la longitud, aunque puedes hacerlo
      print(i..". "..tabla[i]) -- muestras la lista
   end
end
 
listar(1, 6, 33, 77, 34) -- llamas a la función con los números a mostrar

Nota: Si pones false, true o nil en alguno de los argumentos, dará error. Para esos casos es mejor mostrar tostring(tabla[i])



PSP FAT [5.00 M33-6] [6.60 ME] [Hard Moded] / Nintendo Wii [4.1U] [cIOS Hermes] [D2X cIOS] / iPhone 3G [4.2.1] [BB 05.13.04] [redsn0w] / iPod Touch 4 [6.1] [evasi0n]

07/05/10: Tuve el placer de llamarle con todo derecho "N00B" a molotovi xDDD

Recuerda: Sé el intérprete -_-

Imagen de User170294

OK. Eso es justo lo que

OK. Eso es justo lo que quería. gracias a los dos por la respuesta.

Directamente no sé, pero es

Directamente no sé, pero es algo sencillísimo de hacer usando una tabla:

function listar(valores)
  for i=1,#valores do
    print(i..". "..valores[i])
  end
end
 
while true do
  listar({1,2,3,4,5,6,7,8......})
.
.
.

Y queda mejor, porque no tienes que indicar cuántos argumentos vas a listar y puedes intercalar strings y numbers :P

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.