CSC/ECE 517 Fall 2010/ch3 3e br: Difference between revisions

From Expertiza_Wiki
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====
<ref>[http://mitpress.mit.edu/sicp/full-text/book/book-Z-H-26.html The Metacircular Evaluator]


= References =
= References =
[http://doc.bazaar.canonical.com/bzr.2.1/en/user-guide/introducing_bazaar.html] Introducing Bazaar. Retrieved September, 2010.
[http://en.wikipedia.org/wiki/Eval] Eval, Retrieved October, 2010.
 
[http://code.google.com/p/pysync/wiki/VCSHistory] Aran, A Brief History of Version Control Systems. Retrieved September, 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.