From: Ricardo Sisnett Date: 2009-03-19T15:47:57+09:00 Subject: Re: Eval Weird Behavior Ok I'm answering my own question, just in case anyone stumbles across this issue and ends in my post: I thought you had to add a pair of slashes (\\) to escape the quotes(") but it seems that you have to add twice the last number of slashes plus one... So if you had something like this: class Test def a(arg) eval(arg) end def b puts "b" end end In order to recursively call function a and pass "b" to the las call in order to get a printed b... you'd have to: 1 Call: eval("a(\"b\")") =>b --One Slash 2 Calls: eval("a(\"a(\\\"b\\\")\")") --Three Slashes ( 1 * 2 + 1) 3 Calls: eval("a(\"a(\\\"a(\\\\\\\"b\\\\\\\")\\\")\")") --Seven Slashes ( 3 * 2 + 1) 4 Calls: --Fifteen Slashes (7*2 +1 ) I'm not sure if this is useful for anyone besides me and my pretty small-scoped project, but who would know? Thanks again -- Posted via http://www.ruby-forum.com/.