gpt4 book ai didi

ruby - Ruby 中的关键字在哪里定义?

转载 作者:数据小太阳 更新时间:2023-10-29 06:43:10 25 4
gpt4 key购买 nike

我正在查看 Ruby 文档,想知道是否一切都是对象,那么“关键字”也是对象,对吗?如果是这样,它们在 ruby​​ 中的何处定义?

下面的页面让我完全困惑,因为它显示了包含所有关键字的对象,但这不是所有类都使用的官方对象,这是从不同的类以某种方式混入的吗??

http://ruby-doc.org/docs/keywords/1.9/Object.html

我猜上面有很多问题,最主要的一个是:ruby关键字如何进入ruby?

最佳答案

关键字不是对象,而是在解析器中定义的,可以在 Ruby 源代码的 parse.y 中找到。这是该文件的相关部分:

reswords    : keyword__LINE__ | keyword__FILE__ | keyword__ENCODING__
| keyword_BEGIN | keyword_END
| keyword_alias | keyword_and | keyword_begin
| keyword_break | keyword_case | keyword_class | keyword_def
| keyword_defined | keyword_do | keyword_else | keyword_elsif
| keyword_end | keyword_ensure | keyword_false
| keyword_for | keyword_in | keyword_module | keyword_next
| keyword_nil | keyword_not | keyword_or | keyword_redo
| keyword_rescue | keyword_retry | keyword_return | keyword_self
| keyword_super | keyword_then | keyword_true | keyword_undef
| keyword_when | keyword_yield | keyword_if | keyword_unless
| keyword_while | keyword_until
;

如果您想了解更多有关 Ruby 解析器的信息,请查看演示文稿 Hacking parse.y来自 RubyConf 2009 或 Parse.y famtour来自 Ruby Kaigi 2011。

此外,许多随处可用的方法(例如 puts)都在 Kernel 中定义。模块。

编辑:还有一个 list of key words in the documentation ,感谢@antinome 指出这一点。

关于ruby - Ruby 中的关键字在哪里定义?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9446150/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com