在Ruby中如何实现__LINE__和__FILE__常量?
发布时间:2020-12-16 22:18:39 所属栏目:百科 来源:网络整理
导读:似乎__FILE__和__LINE__常量被动态更新,正在执行当前的文件和行号,我想知道 Ruby中的行为是如何实现的? 我已经对源代码进行了修改,但是__LINE__和__FILE__出现的噪音太大了,我想知道任何人都可以帮助我指出源代码,并提供一个线索去了解它的行为. 在Rubinis
似乎__FILE__和__LINE__常量被动态更新,正在执行当前的文件和行号,我想知道
Ruby中的行为是如何实现的?
我已经对源代码进行了修改,但是__LINE__和__FILE__出现的噪音太大了,我想知道任何人都可以帮助我指出源代码,并提供一个线索去了解它的行为. 在Rubinis或MRI中的解释将会很好. 解决方法
__FILE__和__LINE__都被替换为文字
directly in the parser:
case keyword__FILE__: return NEW_STR(rb_external_str_new_with_enc(ruby_sourcefile,strlen(ruby_sourcefile),rb_filesystem_encoding())); case keyword__LINE__: return NEW_LIT(INT2FIX(tokline)); 换句话说,它们的行为就像你自己输入的结果字符串或数字一样. 请注意,对于__LINE__,这个doesn’t always behave how you’d expect. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |