在 ruby 中,您使用点来调用一个方法,或者换句话说,将一个方法发送到所处理的对象。
"100".to_i
Run Code Online (Sandbox Code Playgroud)
我们正在向对象“100”发送消息 to_i
当我们这样做时:
puts "hello"
Run Code Online (Sandbox Code Playgroud)
方法 puts,应用于哪个对象?
我是这么想的:
self.puts "hello"
Run Code Online (Sandbox Code Playgroud)
self 是主要的地方,比如你现在所处的环境,例如 irb 控制台。
但它会引发错误。
Traceback (most recent call last):
2: from /Users/albert/.rbenv/versions/2.5.0/bin/irb:11:in `<main>'
1: from (irb):17
NoMethodError (private method `puts' called for main:Object)
Run Code Online (Sandbox Code Playgroud)
为什么这是错误的?方法 puts 应用在哪里?
ruby ×1