百科.dev
全部条目在线工具AI 编程趋势榜开源项目技术资讯提交条目
登录
< 返回工具列表
B

binding_of_caller

> 编程语言
开源

在 MRI 1.9.2+ 中检索方法调用者的绑定

673 stars0 点赞1 次浏览
访问官网GitHub

工具介绍

在 MRI 1.9.2+ 中检索方法调用者的绑定

binding_of_caller ==================== (C) John Mair (banisterfiend) 2012 在 MRI (>= 2.0.0) 和 RBX (Rubinius) 中检索方法调用者的绑定

binding_of_caller 宝石提供了 Binding#of_caller 方法。使用 binding_of_caller,我们可以从调用栈中更高的位置获取绑定,并在该上下文中评估代码。这允许在调用栈中任意深处访问绑定,而不仅仅限于直接调用者。 仅在调试情况下推荐使用。请不要在生产应用中使用此方法。 适用于 MRI Ruby (>= 2.0) 和 RBX (Rubinius)

  • 安装 宝石:gem install binding_of_caller * 请参阅 源代码

示例: 在调用者的内部修改调用者 ---------- ```ruby def a var = 10 b puts var end

def b c end

def c binding.of_caller(2).eval('var = :hello') end

a()

OUTPUT

=> hello

``` 衍生项目 ---------- 此项目是从 Pry REPL 项目 中衍生而来。 特性和限制 -------------------- * 在 MRI(>= 2.7.0) 和 RBX(Rubinius) 中均可使用 * 对于 MRI 1.0.0 的 gem * 对于 MRI 1.9.x,请使用 gem 的"~> 0.8"版本,其中包含对 MRI 2.0 之前的支持 * 不能在 1.8.7 中使用,但已知有一个基于继续的黑客可以在其中获得 Binding#of_caller * 对于 jruby 1.7.x 存在实验性支持,但仅在解释模式下可用(即,请使用选项 -Djruby.compile.mode=OFF 或在.jrubyrc中添加 compile.mode=OFF)

开发 -----------

检查仓库后,运行 bin/setup 以安装依赖项。然后,运行 rake spec 以运行测试。您还可以运行 bin/console 以获得交互式提示,从而进行实验。要将此宝石安装到本地机器上,请运行 bundle exec rake install。要发布新版本,请在 version.rb 中更新版本号,然后运行 bundle exec rake release。这将为版本创建一个 git 标签,推送 git 提交和标签,并将 .gem 文件推送到 rubygems.org。

Issues· 0 开放

查看全部 Issues在 GitHub 打开

暂无开放 Issues,或尚未同步最近议题。

> 标签

Ruby

暂无评论,来聊聊你的看法吧

> 工具信息

发布日期2026年8月1日
最后更新2026年9月17日
分类编程语言
定价开源

> 相关工具

T
TypeScript
JavaScript 的超集,为前端与全栈提供静态类型
P
Python
通用编程语言,广泛用于 Web、数据与 AI
G
Go
Google 推出的简洁高效系统语言