相关疑难解决方法(0)

在 Ruby 中,应用 puts 方法的对象是哪个?

在 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 2.7 允许使用 self 调用私有方法。在12请求并讨论了此功能。

ruby

2
推荐指数
1
解决办法
355
查看次数

标签 统计

ruby ×1