首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >'eval‘是在Ruby中与绑定对象交互的唯一方式吗?

'eval‘是在Ruby中与绑定对象交互的唯一方式吗?
EN

Stack Overflow用户
提问于 2010-06-22 09:33:33
回答 2查看 4.5K关注 0票数 17

我是Ruby的新手,到目前为止,弄清楚如何使用"binding" objects是我最大的痛点之一。如果我没看错文档,它们几乎是完全不透明的。要访问binding对象中的作用域,您必须拥有一个Ruby代码字符串,并使用绑定对其进行eval

也许我只是一个来自不同学校的纯粹主义者,但一般来说,我对基于字符串的'eval‘构造过敏。在给定绑定对象的情况下,是否有任何方法可以安全地完成以下任一操作:

  1. 在绑定表示的上下文中列出作用域中的标识符,或检索内容的哈希。
  2. 将绑定中的局部变量的值设置为外部上下文中的某个局部变量的值。理想情况下,这通常是可行的,即使值是对象引用、文件句柄或其他一些复杂的entity.
  3. (extension 2:)给定散列,在绑定中为每个条目设置本地变量。
  4. 更好,给定散列仅使用基本语言构造和范围内散列中的名称构建绑定。

基本上,我想知道其中哪些是可能的,以及如何实现那些可能的。我认为每个问题的解决方案都是紧密相关的,这就是为什么我把所有这些都放在一个问题中。

或者,有没有办法评估已经在绑定上下文中解析过的代码,类似于Perl的eval块语法?

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3089643

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档