ruby中的TOPLEVEL_BINDING是什么?

ruby中的TOPLEVEL_BINDING是什么?,第1张

概述它不等于主线程的绑定,这个顶层范围是什么?这个范围与主线程的绑定有什么不同? > ruby -e 'puts TOPLEVEL_BINDING === binding'false 事实是,TOPLEVEL_BINDING始终引用预定义的Binding全局实例,而Kernel#binding创建一个新的Binding实例,每次封装当前的执行上下文.在顶层,它们都包含相同的绑定,但它们不是同一个对象 它不等于主线程的绑定,这个顶层范围是什么?这个范围与主线程的绑定有什么不同?

> ruby -e 'puts topLEVEL_BINDING === binding'false
解决方法 事实是,topLEVEL_BINDING始终引用预定义的Binding全局实例,而Kernel#binding创建一个新的Binding实例,每次封装当前的执行上下文.在顶层,它们都包含相同的绑定,但它们不是同一个对象,您无法使用==或===测试它们的绑定相等性.

puts topLEVEL_BINDINGputs topLEVEL_BINDINGputs bindingputs bindingputs binding == binding# =>#<Binding:0x9769ea0>#<Binding:0x9769ea0>#<Binding:0x9941ea8>#<Binding:0x9941e58>false
总结

以上是内存溢出为你收集整理的ruby中的TOPLEVEL_BINDING是什么?全部内容,希望文章能够帮你解决ruby中的TOPLEVEL_BINDING是什么?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1283799.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-09
下一篇 2022-06-09

发表评论

登录后才能评论

评论列表(0条)

保存