Cómo recuperar argumentos variables en LUA 5.2 [Duplicar] -- lua camp Relacionados El problema

how to retrieve variable arguments in lua 5.2 [duplicate]


1
vote

problema

Español
Esta pregunta ya tiene una respuesta aquí :
Parámetro implícito "arg" en funciones no funciona en LUA (1 respuesta)
Cerrado hace 5 años .

Las páginas de referencia dicen cosas como

  function this(...) end   

Sin embargo, cuando intento aplicar el supuesto 2012-06-08 13:17:30.808 tekMatrix[2793:f803] connected 2012-06-08 13:17:30.815 tekMatrix[2793:f803] RX length: 8 2012-06-08 13:17:30.816 tekMatrix[2793:f803] Fail 1 variable, todo lo que obtengo es una referencia de nil. Cualquier intento que he hecho para capturar los resultados de los argumentos en una tabla NIL. He intentado forzar un local tab = {...} y aún así obtener la referencia de nil. Lo más cercano que he logrado para capturar los argumentos es un select("#",...) que solo devuelve el número de argumentos. Cada vez que intento capturar esta declaración externa de parámetros, no obtengo nada más que otro error ...

He estado mirando a fondo esto sin éxito ... de alguna manera que pueda lograr esto sin pasar por la fuerza una tabla?

Original en ingles

The reference pages all say things like

function this(...) end 

However when I try to apply the supposed arg variable all I get is a nil reference. Any attempt I've made to capture the arguments results in a nil table. I've tried forcing a local tab = {...} and still get the nil reference. The closest I've managed to get to capturing the arguments is a select("#",...) which only returns the number of arguments. Whenever I try to capture this outside parameter declaration I get nothing but another error...

I've been thoroughly looking into this with no avail... any way I can accomplish this without forcibly passing a table?

  

Lista de respuestas

4
 
vote

El argumento java.lang.Exception: Encoder: discarding statement HashMultimap.put(Object, Object); at java.beans.Encoder.writeStatement(Encoder.java:306) at java.beans.XMLEncoder.writeStatement(XMLEncoder.java:400) at test2.XmlEncoderTest$CustomPersistenceDelegate.initialize(XmlEncoderTest.java:83) at java.beans.PersistenceDelegate.writeObject(PersistenceDelegate.java:118) at java.beans.Encoder.writeObject(Encoder.java:74) at java.beans.XMLEncoder.writeObject(XMLEncoder.java:327) at java.beans.Encoder.writeExpression(Encoder.java:330) at java.beans.XMLEncoder.writeExpression(XMLEncoder.java:454) at java.beans.PersistenceDelegate.writeObject(PersistenceDelegate.java:115) at java.beans.Encoder.writeObject(Encoder.java:74) at java.beans.XMLEncoder.writeObject(XMLEncoder.java:327) at java.beans.Encoder.writeExpression(Encoder.java:330) at java.beans.XMLEncoder.writeExpression(XMLEncoder.java:454) at java.beans.DefaultPersistenceDelegate.doProperty(DefaultPersistenceDelegate.java:194) at java.beans.DefaultPersistenceDelegate.initBean(DefaultPersistenceDelegate.java:253) at java.beans.DefaultPersistenceDelegate.initialize(DefaultPersistenceDelegate.java:400) at java.beans.PersistenceDelegate.writeObject(PersistenceDelegate.java:118) at java.beans.Encoder.writeObject(Encoder.java:74) at java.beans.XMLEncoder.writeObject(XMLEncoder.java:327) at java.beans.Encoder.writeExpression(Encoder.java:330) at java.beans.XMLEncoder.writeExpression(XMLEncoder.java:454) at java.beans.PersistenceDelegate.writeObject(PersistenceDelegate.java:115) at java.beans.Encoder.writeObject(Encoder.java:74) at java.beans.XMLEncoder.writeObject(XMLEncoder.java:327) at java.beans.Encoder.writeObject1(Encoder.java:258) at java.beans.Encoder.cloneStatement(Encoder.java:271) at java.beans.Encoder.writeStatement(Encoder.java:301) at java.beans.XMLEncoder.writeStatement(XMLEncoder.java:400) at java.beans.XMLEncoder.writeObject(XMLEncoder.java:330) ... Caused by: java.lang.NoSuchMethodException: HashMultimap.put(Object, Object); at java.beans.Statement.invokeInternal(Statement.java:313) at java.beans.Statement.access$000(Statement.java:58) at java.beans.Statement$2.run(Statement.java:185) at java.security.AccessController.doPrivileged(Native Method) at java.beans.Statement.invoke(Statement.java:182) at java.beans.Statement.execute(Statement.java:173) at java.beans.Encoder.writeStatement(Encoder.java:304) ... 51 more 414 es para LUA 5.0 solamente. Dado que LUA 5.1, la expresión de vararg java.lang.Exception: Encoder: discarding statement HashMultimap.put(Object, Object); at java.beans.Encoder.writeStatement(Encoder.java:306) at java.beans.XMLEncoder.writeStatement(XMLEncoder.java:400) at test2.XmlEncoderTest$CustomPersistenceDelegate.initialize(XmlEncoderTest.java:83) at java.beans.PersistenceDelegate.writeObject(PersistenceDelegate.java:118) at java.beans.Encoder.writeObject(Encoder.java:74) at java.beans.XMLEncoder.writeObject(XMLEncoder.java:327) at java.beans.Encoder.writeExpression(Encoder.java:330) at java.beans.XMLEncoder.writeExpression(XMLEncoder.java:454) at java.beans.PersistenceDelegate.writeObject(PersistenceDelegate.java:115) at java.beans.Encoder.writeObject(Encoder.java:74) at java.beans.XMLEncoder.writeObject(XMLEncoder.java:327) at java.beans.Encoder.writeExpression(Encoder.java:330) at java.beans.XMLEncoder.writeExpression(XMLEncoder.java:454) at java.beans.DefaultPersistenceDelegate.doProperty(DefaultPersistenceDelegate.java:194) at java.beans.DefaultPersistenceDelegate.initBean(DefaultPersistenceDelegate.java:253) at java.beans.DefaultPersistenceDelegate.initialize(DefaultPersistenceDelegate.java:400) at java.beans.PersistenceDelegate.writeObject(PersistenceDelegate.java:118) at java.beans.Encoder.writeObject(Encoder.java:74) at java.beans.XMLEncoder.writeObject(XMLEncoder.java:327) at java.beans.Encoder.writeExpression(Encoder.java:330) at java.beans.XMLEncoder.writeExpression(XMLEncoder.java:454) at java.beans.PersistenceDelegate.writeObject(PersistenceDelegate.java:115) at java.beans.Encoder.writeObject(Encoder.java:74) at java.beans.XMLEncoder.writeObject(XMLEncoder.java:327) at java.beans.Encoder.writeObject1(Encoder.java:258) at java.beans.Encoder.cloneStatement(Encoder.java:271) at java.beans.Encoder.writeStatement(Encoder.java:301) at java.beans.XMLEncoder.writeStatement(XMLEncoder.java:400) at java.beans.XMLEncoder.writeObject(XMLEncoder.java:330) ... Caused by: java.lang.NoSuchMethodException: HashMultimap.put(Object, Object); at java.beans.Statement.invokeInternal(Statement.java:313) at java.beans.Statement.access$000(Statement.java:58) at java.beans.Statement$2.run(Statement.java:185) at java.security.AccessController.doPrivileged(Native Method) at java.beans.Statement.invoke(Statement.java:182) at java.beans.Statement.execute(Statement.java:173) at java.beans.Encoder.writeStatement(Encoder.java:304) ... 51 more 5 se usa en su lugar.

Intenta esto:

  java.lang.Exception: Encoder: discarding statement HashMultimap.put(Object, Object); at java.beans.Encoder.writeStatement(Encoder.java:306) at java.beans.XMLEncoder.writeStatement(XMLEncoder.java:400) at test2.XmlEncoderTest$CustomPersistenceDelegate.initialize(XmlEncoderTest.java:83) at java.beans.PersistenceDelegate.writeObject(PersistenceDelegate.java:118) at java.beans.Encoder.writeObject(Encoder.java:74) at java.beans.XMLEncoder.writeObject(XMLEncoder.java:327) at java.beans.Encoder.writeExpression(Encoder.java:330) at java.beans.XMLEncoder.writeExpression(XMLEncoder.java:454) at java.beans.PersistenceDelegate.writeObject(PersistenceDelegate.java:115) at java.beans.Encoder.writeObject(Encoder.java:74) at java.beans.XMLEncoder.writeObject(XMLEncoder.java:327) at java.beans.Encoder.writeExpression(Encoder.java:330) at java.beans.XMLEncoder.writeExpression(XMLEncoder.java:454) at java.beans.DefaultPersistenceDelegate.doProperty(DefaultPersistenceDelegate.java:194) at java.beans.DefaultPersistenceDelegate.initBean(DefaultPersistenceDelegate.java:253) at java.beans.DefaultPersistenceDelegate.initialize(DefaultPersistenceDelegate.java:400) at java.beans.PersistenceDelegate.writeObject(PersistenceDelegate.java:118) at java.beans.Encoder.writeObject(Encoder.java:74) at java.beans.XMLEncoder.writeObject(XMLEncoder.java:327) at java.beans.Encoder.writeExpression(Encoder.java:330) at java.beans.XMLEncoder.writeExpression(XMLEncoder.java:454) at java.beans.PersistenceDelegate.writeObject(PersistenceDelegate.java:115) at java.beans.Encoder.writeObject(Encoder.java:74) at java.beans.XMLEncoder.writeObject(XMLEncoder.java:327) at java.beans.Encoder.writeObject1(Encoder.java:258) at java.beans.Encoder.cloneStatement(Encoder.java:271) at java.beans.Encoder.writeStatement(Encoder.java:301) at java.beans.XMLEncoder.writeStatement(XMLEncoder.java:400) at java.beans.XMLEncoder.writeObject(XMLEncoder.java:330)      ...  Caused by: java.lang.NoSuchMethodException: HashMultimap.put(Object, Object);     at java.beans.Statement.invokeInternal(Statement.java:313)     at java.beans.Statement.access$000(Statement.java:58)     at java.beans.Statement$2.run(Statement.java:185)     at java.security.AccessController.doPrivileged(Native Method)     at java.beans.Statement.invoke(Statement.java:182)     at java.beans.Statement.execute(Statement.java:173)     at java.beans.Encoder.writeStatement(Encoder.java:304)     ... 51 more 6  
 

The arg argument is for Lua 5.0 only. Since Lua 5.1, the vararg expression ... is used instead.

Try this:

function foo(...)     for k, v in ipairs{...} do         print(k, v)     end end  foo('hello', 'world') 
 
 
 
 

Relacionados problema

1  Lua requieren no funciona en los directorios  ( Lua require doesnt work on directories ) 
Me han dado un código de esqueleto para una tarea de mi profesor en Lua. El código tiene varias declaraciones que agregan paquetes al directorio actual. El pr...

31  ¿Hay algún LUA reciente a los convertidores o intérpretes de JavaScript en algún lugar? [cerrado]  ( Are there any recent lua to javascript converters or interpreters somewhere ) 
cerrado. Esta pregunta no cumple con pautas de desbordamiento de pila . Actualmente no está aceptando respuestas. ...

8  ¿Cómo se anula la matriz en Lua?  ( How do you pre size an array in lua ) 
Tengo un programa LUA que parece ser más lento de lo que debería ser. Sospecho que el problema es que estoy agregando valores a una matriz asociativa a la vez...

0  Roblox Haciendo funciones corren más de una vez  ( Roblox making functions run more than once ) 
Mi código: local UIS = game:GetService("UserInputService") local Player = game.Players.LocalPlayer local Mouse = Player:GetMouse() local Activation = Inst...

0  ¿Cómo anular el método de Luabind Class __Finalize?  ( How to override luabind class finalize method ) 
¿Cómo anular la clase Luabind __ finalizar Method? tratando de hacer esto de tal manera: class A function A:__init() end function A:__finalize() end l...

2  Hilo.sleep solo funciona con el punto de interrupción? [cerrado]  ( Thread sleep only works with breakpoint ) 
cerrado. Esta pregunta necesita Detalles de depuración . Actualmente no está aceptando respuestas. ...

9  LUA Script Error Comprobando  ( Lua script error checking ) 
¿Es posible verificar si un script LUA contiene errores sin ejecutarlo? Tengo un código de reducción: if(luaL_loadbuffer(L, data, size, name)) { ...

2  ¿Es _VERSION la única variable global que queda en LUA 5.1?  ( Is version the only global variable left in lua 5 1 ) 
desconcertado por la documentación de LUA 5.0 Referencias a cosas como _LOADED , LUA_PATH , _ALERT y así sucesivamente (que no pude usar en Lua 5.1), desc...

3  Obtención de la fecha del día anterior en Lua  ( Getting previous days date in lua ) 
¿Puede alguien amablemente imaginarme sobre cómo obtener la fecha del día anterior en el formato 'YYYY-MM-DD' usando LUA? i.e., un fragmento que devolverá l...

1  Uso de cadenas que contienen enteros como llaves de la tabla  ( Using strings containing integers as table keys ) 
Me doy cuenta de que esto generalmente no es una gran práctica, pero ¿cómo usaría una cadena que contenía un entero (por ejemplo, 9988777663 ) como una tecla...




© 2022 respuesta.top Reservados todos los derechos. Centro de preguntas y respuestas reservados todos los derechos