Hi all,
What is the Ruby technique for turning strings into executable code?
SteveT
Steve L.
Hi all,
What is the Ruby technique for turning strings into executable code?
SteveT
Steve L.
eval
eval(“3+3”)
6
jf
Steve L. wrote:
Hi all,
What is the Ruby technique for turning strings into executable code?
There’s eval:
eval( ‘class Foo;def x; puts “x”; end;end’ )
Foo.new.x
And its variants (instance_eval, class_eval)
http://www.ruby-doc.org - Ruby Help & Documentation
Ruby Code & Style - Ruby Code & Style: Writers wanted
http://www.rubystuff.com - The Ruby Store for Ruby Stuff
http://www.jamesbritt.com - Playing with Better Toys
http://www.30secondrule.com - Building Better Tools
On Friday 30 December 2005 10:51 am, James B. wrote:
And its variants (instance_eval, class_eval)
James
Thanks James, and you to Johannes.
SteveT
Steve L.
Steve L. wrote:
Hi all,
What is the Ruby technique for turning strings into executable code?
Via one of the various forms of eval. However, using eval on arbitrary
strings is insecure, so generally it’s considered bad form. There’s even
a slogan: “Eval is evil.” The preferred technique is to build a solution
using Ruby’s dynamic programming facilities.
On Saturday 31 December 2005 06:07 am, Timothy H. wrote:
Steve L. wrote:
Hi all,
What is the Ruby technique for turning strings into executable code?
Via one of the various forms of eval. However, using eval on arbitrary
strings is insecure, so generally it’s considered bad form. There’s even
a slogan: “Eval is evil.” The preferred technique is to build a solution
using Ruby’s dynamic programming facilities.
Where do I find out more about Ruby’s dynamic programming facilities?
SteveT
Steve L.
What is the Ruby technique for turning strings into
executable code?Via one of the various forms of eval.
Uh, well, that’s not the right answer. Eval evaluates
(=executes) a string. It doesn’t turn a string into executable
code (=compile).
gegroet,
Erik V. - http://www.erikveen.dds.nl/
Erik V. [email protected] writes:
What is the Ruby technique for turning strings into
executable code?Via one of the various forms of eval.
Uh, well, that’s not the right answer. Eval evaluates
(=executes) a string. It doesn’t turn a string into executable
code (=compile).
Wrap it in a lambda, then.
Steve L. wrote:
Where do I find out more about Ruby’s dynamic programming facilities?
The Pickaxe would be a good start. Also Hal’s The Ruby Way.
On Saturday 31 December 2005 06:07 am, Erik V. wrote:
What is the Ruby technique for turning strings into
executable code?Via one of the various forms of eval.
Uh, well, that’s not the right answer. Eval evaluates
(=executes) a string. It doesn’t turn a string into executable
code (=compile).
When I first posed the question, what I really meant was turn it into
Ruby
code (like eval does). Sorry for the confusion.
While we’re on the subject, do you know of a way to turn a Ruby program
into
an executable binary?
Thanks
SteveT
Steve L.
While we’re on the subject, do you know of a way to turn a
Ruby program into an executable binary?
If you want to distribute your Ruby application as a single
executable, including the Ruby interpreter and libraries, use
RubyScript2Exe:
http://www.erikveen.dds.nl/rubyscript2exe/index.html
(Yes, it’s one of my own projects… But you asked me…)
gegroet,
Erik V. - http://www.erikveen.dds.nl/
Christian N. wrote:
code (=compile).
Wrap it in a lambda, then.
If I have a string in a file, would we say it was executable code? Or
does loading it into the Ruby interpreter make it executable code?
What are the differences among
require ‘my-file-of-strings’
load ‘my-file-of-strings’
and
eval( IO.read( ‘my-file-of-strings’ ) )
http://www.ruby-doc.org - Ruby Help & Documentation
Ruby Code & Style - Ruby Code & Style: Writers wanted
http://www.rubystuff.com - The Ruby Store for Ruby Stuff
http://www.jamesbritt.com - Playing with Better Toys
http://www.30secondrule.com - Building Better Tools
This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.
Sponsor our Newsletter | Privacy Policy | Terms of Service | Remote Ruby Jobs