gpt4 book ai didi

Ruby:NoMethodError,但为什么呢?

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

我在学习 Ruby 的时候正在做一个简单的 Pi Generator,但是我在 RubyMine 6.3.3 上一直遇到 NoMethodError,所以我决定用尽可能简单的方式创建一个新项目和新类,而且我仍然 获取 NoMethodError。有什么原因吗?

class Methods
def hello (player)
print "Hello, " << player
end
hello ("Annie")
end

我得到的错误是:

C:/Users/Annie the Eagle/Documents/Coding/Ruby/Learning Environment/methods.rb:5:in `<class:Methods>': undefined method `hello' for Methods:Class (NoMethodError)

最佳答案

您已经定义了一个实例方法,并试图将其作为类的方法调用。因此,您需要使方法 hello 成为类方法,而不是类 Methods 的实例方法。

class Methods
def self.hello(player)
print "Hello, " << player
end
hello("Annie")
end

或者,如果您想将其定义为实例方法,则按如下方式调用它:

class Methods
def hello(player)
print "Hello, " << player
end
end
Methods.new.hello("Annie")

关于Ruby:NoMethodError,但为什么呢?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26358039/

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