我们都知道在红宝石中的事实.具有对象的运算符留给.帮助发送消息(右侧.).
根据上述原则 - "100".to_s我们可以说.运算符正在向to_s对象发送消息100.好一个!
那么puts("hello")呢?以下是我对当地红宝石专家的提问:
在哪里.运营商?
谁是接收者?
在这种情况下,接收者是隐含的self.puts是一种方法Kernel.所有类都包含内核模块,因此所有对象都有一个puts方法.唯一的事情是:它是私人的.私有方法只能通过隐式self(或使用send)调用
puts 'foo' # >> foo
1.puts 'bar' # ~> -:3:in `<main>': private method `puts' called for 1:Fixnum (NoMethodError)
1.send :puts, 'bar' # >> bar
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
107 次 |
| 最近记录: |