Apa*_*101 0 ruby rubygems ruby-on-rails ruby-on-rails-3 ruby-on-rails-3.1
提供一些背景; 在过去的几个月里我一直在学习Ruby(已经阅读了大部分Well-Grounded-Rubyist,完成了Poignant ruby指南,并计划在之后阅读Eloquent ruby)我已经掌握了大多数概念,即Objects,Ruby内核(基础),范围,循环等等,但是,当涉及到向代码发送消息/方法时,我感到很困惑.
我们以这行代码为例: toolkit = Toolkit.get_default_toolkit
现在toolkit是Toolkit对象的变量,get_default_toolkit是方法/消息.我在大多数代码中发现含糊不清的是方法/消息没有在任何地方定义.所以我的问题是,是否有一个我们(rubyists)可以研究的Kernal消息/方法列表,这些消息/方法是在基础层面上使用的?
或者这些方法是否具有较大的范围,并在程序中的其他位置定义?
这些方法在类定义中定义,因为它们几乎适用于所有语言.get_default_toolkit
不是一些低级方法,你必须通过核心Ruby类来寻找它,它是类的一部分,Toolkit
它将被定义在定义类的地方.
存在有这样的方法,象那些在所定义Kernel
或Object
,但get_default_toolkit
不是它们中的一个.
对于任何给定的方法,您可以通过调用object.method('method_name').owner
找出它所定义的类,或通过调用找出它的定义位置(文件/行号).source_location
.
现在,toolkit是Toolkit对象的变量
措辞的更好方法是它toolkit
是一个变量,并且Toolkit
是一个类,toolkit
现在包含一个新的类实例Toolkit
.
归档时间: |
|
查看次数: |
645 次 |
最近记录: |