From: "Florian Groß" Date: 2006-04-09T22:37:56+09:00 Subject: Re: yield, binding dblack@wobblini.net wrote: >> I think you are looking for Object#instance_eval. >> >> Note that in 1.8 there is no way to build-in way to execute a block in >> a different context and at the same time providing it with arguments. >> >> In 1.9 it will be possible to do that with Object#instance_exec. > > Do you know why there are going to be two methods, instead of just > adding argument capabilites to instance_eval? I'm also not sure how > 'eval' vs. 'exec' expresses arguments vs. no arguments. Do you know > the reasoning behind it? Object#instance_eval used to pass self AFAIK. Making it pass arguments would either be an incompatible change or lead to a overly complex API. I'm not sure about the exact reasoning about the names. I guess it is just because all eval methods don't pass arguments. And instance_exec kind of sounds related to instance_eval. I can't think of a good name that expresses argument passing. instance_eval_with_args would work, but isn't good. -- http://flgr.0x42.net/