Portal    Foro    Buscar    FAQ    Registrarse    Conectarse


Publicar nuevo tema  Responder al tema 
Página 1 de 1
 
 
Ingresar Una Lista De Valores. Usando Eval
Autor Mensaje
Responder citando   Descargar mensaje  
Mensaje Ingresar Una Lista De Valores. Usando Eval 
 
Hola!.

Viendo un ejemplo de eval de Python, encontré a su equivalente en gambas. No fue difícil, ya que se llama igual.  
Probé  hacer el ejemplo directamente con la ayuda de Input, pero no fue a la primera y lo hice gráficamente, funcionando bien.
Así que volviendo al modo consola.

Public Sub Main()

  Dim lista As New Integer[]
  Dim svalores As String
  
  Print "Ingrese una lista de valores"
  Input svalores
  lista = Eval(svalores)
  Print "La lista es: " & svalores
  Print "El primer valor de la lista es " & lista[0]
  
End
 


Los valores hay que introducirlos como lista..array.  
[45,7,23]

En Python:

# Ingresar una lista como valores de entrada
# Ejemplo con eval

lista = eval(input('Ingrese una lista de valores '))
print ('La lista es: ',lista )
print ('El primer valor de la lista es: ',lista[0])
 



Saludos
 




===================
Gambas Básico
"No es un bug, es una característica no documentada"
 
Shell - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Ingresar Una Lista De Valores. Usando Eval 
 
eval es grandioso, pero no esta listo para la internacionalizacion

Con la configuracion local de coma decimal

Debug eval("1,23 + 2")  dara error

y

Debug eval("1.23 + 2")

3,23
 



 
última edición por tercoIDE el Jueves, 13 Noviembre 2014, 12:25; editado 1 vez 
tercoIDE - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Ingresar Una Lista De Valores. Usando Eval 
 
Hola tercoIDE

tercoIDE escribió: [Ver mensaje]

eval es grandioso, pero no esta listo para la internacionalizacion
Con la configuracion local de coma decimal


Podemos sustituir la coma del texto por el punto si este se encuentra en la expresión..

Public Sub Main()
Dim expresion As String

expresion = "1,23 + 2"
Print expresion

If InStr(expresion, ",") Then expresion = Replace(expresion, ",", ".")
Print expresion

End
 


Saludos
 




===================
Gambas Básico
"No es un bug, es una característica no documentada"
 
Shell - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Ingresar Una Lista De Valores. Usando Eval 
 
Si señor, yo uso mi propia funcion:
Public Function fEval(s As String) As Float
    
    ' version internacional de Eval()
    s = Replace$(s, ",", ".")
    Return Eval(s)
    
End

 



 
tercoIDE - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Mostrar mensajes anteriores:    
 

Publicar nuevo tema  Responder al tema  Página 1 de 1
 

Usuarios navegando en este tema: 0 registrados, 0 ocultos y 1 invitado
Usuarios registrados conectados: Ninguno


 
Lista de permisos
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
No puede adjuntar archivos
Puede descargar archivos
No puede publicar eventos en el calendario



  

 

cron