# How do you evaluate text as code in Ruby?

**URL:** <https://www.ruby-forum.com/t/how-do-you-evaluate-text-as-code-in-ruby/100826>\
**Category:** Rails\
**Created:** [August 1, 2006, 12:20pm UTC](https://www.ruby-forum.com/t/how-do-you-evaluate-text-as-code-in-ruby/100826 "2006-08-01T12:20:36Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![chris](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/958977/32.png) [@chris](https://www.ruby-forum.com/u/chris)\
**Post date:** [August 1, 2006, 12:20pm UTC](https://www.ruby-forum.com/t/how-do-you-evaluate-text-as-code-in-ruby/100826/1 "2006-08-01T12:20:36Z")

</div>

How do you evaluate text as code in Ruby?  
I’m sure there’s a technical term for this…

Thanks  
Chris

---

<div class="post-metadata">

**Author:** ![chris](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/958977/32.png) [@chris](https://www.ruby-forum.com/u/chris)\
**Post date:** [August 1, 2006, 12:24pm UTC](https://www.ruby-forum.com/t/how-do-you-evaluate-text-as-code-in-ruby/100826/2 "2006-08-01T12:24:05Z")

</div>

I’ve just found out, you use “eval”, suprisingly enough

---

<div class="post-metadata">

**Author:** ![chris](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/958977/32.png) [@chris](https://www.ruby-forum.com/u/chris)\
**Post date:** [August 1, 2006, 12:27pm UTC](https://www.ruby-forum.com/t/how-do-you-evaluate-text-as-code-in-ruby/100826/3 "2006-08-01T12:27:33Z")

</div>

eval(“code”)

---

<div class="post-metadata">

**Author:** ![chris](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/958977/32.png) [@chris](https://www.ruby-forum.com/u/chris)\
**Post date:** [August 1, 2006, 2:15pm UTC](https://www.ruby-forum.com/t/how-do-you-evaluate-text-as-code-in-ruby/100826/4 "2006-08-01T14:15:39Z")

</div>

Hi –

On Tue, 1 Aug 2006, Chris wrote:

> How do you evaluate text as code in Ruby?  
> I’m sure there’s a technical term for this…

There are two steps:

1. Use eval(string)
2. Examine your program, find out what led you to use eval,  
and fix it 🙂

David

–  
[http://www.rubypowerandlight.com](http://www.rubypowerandlight.com) =\> Ruby/Rails training & consultancy  
----\> SEE SPECIAL DEAL FOR RUBY/RAILS USERS GROUPS! \<-----  
[http://dablog.rubypal.com](http://dablog.rubypal.com) =\> D[avid]A[.]B[lack’s][Web]log  
[Ruby for Rails](http://www.manning.com/black) =\> book, Ruby for Rails  
[http://www.rubycentral.org](http://www.rubycentral.org) =\> Ruby Central, Inc.

---

<div class="post-metadata">

**Author:** ![chris](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/958977/32.png) [@chris](https://www.ruby-forum.com/u/chris)\
**Post date:** [August 1, 2006, 2:46pm UTC](https://www.ruby-forum.com/t/how-do-you-evaluate-text-as-code-in-ruby/100826/5 "2006-08-01T14:46:22Z")

</div>

On Aug 1, 2006, at 6:20 AM, Chris wrote:

> How do you evaluate text as code in Ruby?  
> I’m sure there’s a technical term for this…
> 
> Thanks  
> Chris

Be sure to check out eval’s cousins instance\_eval, class\_eval and  
module\_eval.  
Instance eval is particularly cool because it can take a block too,  
eliminating the ‘code in a string’ problem.

There’s also implementations of instance\_exec which is like  
instance\_eval but with arbitrary argument passing.

While you’re into the meta-programming world, define\_method,  
remove\_method and alias are pretty darn cool too.

It’s a wide wide ruby world 🙂  
-Mat
