fbpx
Wikipedia

Eval

Eval en varios lenguajes de programación, es una función que evalúa el contenido pasado como parámetro como si fuera una expresión.

Funciones como eval son más comunes en lenguajes de programación interpretados que compilados, puesto que incluyendo esa función en un lenguaje compilado requiere incluir un intérprete o compilador con el programa, y más información sobre la ejecución (como por ejemplo los nombres de las variables). Algunos lenguajes compilados tienen instrucciones similares a eval.

Implementación

Aunque a primera vista no parezca una instrucción útil, con esta instrucción podemos controlar variables y manipularlas dentro de funciones. Por ejemplo:

c = eval (cadena_texto.replace ("v",g) ).toString() 

Seguridad

Se debe tener un especial cuidado al usar eval con datos obtenidos desde una fuente que no sea de confianza. Por ejemplo, asumiendo que la función obtenerDatos adquiere datos desde Internet, el código siguiente en Python es inseguro:

datos = obtenerDatos() eval(datos) 

Un atacante podría suministrar el string "borrarArchivosDelSistema()" como datos, lo cual resultaría en una llamada a una función borrarArchivosDelSistema(). Para remediar la situación, todo parámetro de la función eval debe ser escapado, o eval debe ser ejecutado sin acceso a funciones potencialmente peligrosas.

Lenguajes de programación

ActionScript

Imprime una página según le pasemos en la función.

_pj = new printJob _pj.addPage(eval(pg() - 2)) 

JavaScript y ECMAScript

El próximo fragmento de código hace calcular una variable más 23.

 //usando eval function count_more(n, o) { var x = eval( o * 23) var j= x-n return j } 

PHP

En el siguiente ejemplo de PHP vemos que la variable $foo le pasamos la cadena 'Hola Mundo' y un salto de línea, por la cual usamos eval para que nos la imprima en pantalla esa variable.

<?php $foo = "Hola mundo!\n"; eval('echo $foo;'); ?> 

PostScript

 # make divide-by-zero nonfatal  eval { $answer = $a / $b; }; warn $@ if $@; 

Python

En Python, eval evalúa una sola expresión. Ejemplo: (modo interactivo)

>>> x = 1 >>> eval('x + 1') 2 >>> eval('x') 1 

exec ejecuta varias instrucciones a la vez. Ejemplo: (modo interactivo)

>>> x = 1 >>> y = 1 >>> exec "x += 1; y -= 1" >>> x 2 >>> y 0 

Enlaces externos

    •   Datos: Q940058

    eval, varios, lenguajes, programación, función, evalúa, contenido, pasado, como, parámetro, como, fuera, expresión, funciones, como, eval, más, comunes, lenguajes, programación, interpretados, compilados, puesto, incluyendo, función, lenguaje, compilado, requi. Eval en varios lenguajes de programacion es una funcion que evalua el contenido pasado como parametro como si fuera una expresion Funciones como eval son mas comunes en lenguajes de programacion interpretados que compilados puesto que incluyendo esa funcion en un lenguaje compilado requiere incluir un interprete o compilador con el programa y mas informacion sobre la ejecucion como por ejemplo los nombres de las variables Algunos lenguajes compilados tienen instrucciones similares a eval Indice 1 Implementacion 2 Seguridad 3 Lenguajes de programacion 3 1 ActionScript 3 2 JavaScript y ECMAScript 3 3 PHP 3 4 PostScript 3 5 Python 4 Enlaces externosImplementacion EditarAunque a primera vista no parezca una instruccion util con esta instruccion podemos controlar variables y manipularlas dentro de funciones Por ejemplo c eval cadena texto replace v g toString Seguridad EditarSe debe tener un especial cuidado al usar eval con datos obtenidos desde una fuente que no sea de confianza Por ejemplo asumiendo que la funcion obtenerDatos adquiere datos desde Internet el codigo siguiente en Python es inseguro datos obtenerDatos eval datos Un atacante podria suministrar el string borrarArchivosDelSistema como datos lo cual resultaria en una llamada a una funcion borrarArchivosDelSistema Para remediar la situacion todo parametro de la funcion eval debe ser escapado o eval debe ser ejecutado sin acceso a funciones potencialmente peligrosas Lenguajes de programacion EditarActionScript Editar Imprime una pagina segun le pasemos en la funcion pj new printJob pj addPage eval pg 2 JavaScript y ECMAScript Editar El proximo fragmento de codigo hace calcular una variable mas 23 usando eval function count more n o var x eval o 23 var j x n return j PHP Editar En el siguiente ejemplo de PHP vemos que la variable foo le pasamos la cadena Hola Mundo y un salto de linea por la cual usamos eval para que nos la imprima en pantalla esa variable lt php foo Hola mundo n eval echo foo gt PostScript Editar make divide by zero nonfatal eval answer a b warn if Python Editar En Python eval evalua una sola expresion Ejemplo modo interactivo gt gt gt x 1 gt gt gt eval x 1 2 gt gt gt eval x 1 exec ejecuta varias instrucciones a la vez Ejemplo modo interactivo gt gt gt x 1 gt gt gt y 1 gt gt gt exec x 1 y 1 gt gt gt x 2 gt gt gt y 0Enlaces externos EditarFuncion eval en Python Datos Q940058 Obtenido de https es wikipedia org w index php title Eval amp oldid 125248755, wikipedia, wiki, leyendo, leer, libro, biblioteca,

    español

    , española, descargar, gratis, descargar gratis, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, imagen, música, canción, película, libro, juego, juegos