CSC/ECE 517 Fall 2010/ch3 3e br: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
No edit summary |
||
Line 10: | Line 10: | ||
==Origin== | ==Origin== | ||
[http://en.wikipedia.org/wiki/Lisp_%28programming_language%29] | [http://en.wikipedia.org/wiki/Lisp_%28programming_language%29] Lisp, Retrieved October, 2010. | ||
==Security risks== | ==Security risks== | ||
[http://en.wikipedia.org/wiki/Eval] | [http://en.wikipedia.org/wiki/Eval] Eval, Retrieved October, 2010. | ||
==Context== | ==Context== | ||
Line 34: | Line 34: | ||
===Static Programming Languages=== | ===Static Programming Languages=== | ||
====Java=== | ====Java==== | ||
GroovyShell | GroovyShell | ||
===Command Line interpreters=== | ===Command Line interpreters=== | ||
====Unix==== | |||
= References = | = References = | ||
[http:/ | [http://en.wikipedia.org/wiki/Eval] Eval, Retrieved October, 2010. | ||
Revision as of 13:30, 3 October 2010
eval()
Introduction
The eval facility is one of the most powerful features of Ruby (as well as other dynamic languages). Kernel.eval method will parse and execute an arbitrary string of legal Ruby source code. To put it plainly, if your Ruby program can generate a string of valid Ruby code, the Kernel.eval method can evaluate that code. The eval facility gives developers the ability to modify the runtime behavior of program. Illustrate the practical advantages of Ruby's eval(...) and compare it with similar mechanisms in other languages.
Origin
[1] Lisp, Retrieved October, 2010.
Security risks
[2] Eval, Retrieved October, 2010.
Context
Implementation
Dynamic Programming Languages
Lisp
Perl
Ruby
JavaScript
PHP
Python
ColdFusion
Static Programming Languages
Java
GroovyShell
Command Line interpreters
Unix
References
[3] Eval, Retrieved October, 2010.