在 Rubymine 中定义方法 returns "undefined method" 错误
Defining a method in Rubymine returns "undefined method" error
我正在执行一个 class,在 rubymine 中只有这段代码:
def saythis(x)
puts x
end
saythis('words')
它 returns 一个错误:undefined method `saythis'
,而不是打印字符串 'words'
。我在这里错过了什么?在 irb 中复制此代码打印字符串 'words'
.
我假设你写了一个如下所示的 class 并且没有将该代码写入 irb 控制台。问题是你定义了一个实例方法,但是尝试从class级别调用该方法。
class Foo
def say_this(x) # <= defines an instance method
puts x
end
say_this('words') # <= calls a class method
end
有两种方法"fix":
- 定义 class 方法而不是实例方法:
def self.say_this(x)
- 调用实例方法而不是class方法调用:
new.say_this(x)
我正在执行一个 class,在 rubymine 中只有这段代码:
def saythis(x)
puts x
end
saythis('words')
它 returns 一个错误:undefined method `saythis'
,而不是打印字符串 'words'
。我在这里错过了什么?在 irb 中复制此代码打印字符串 'words'
.
我假设你写了一个如下所示的 class 并且没有将该代码写入 irb 控制台。问题是你定义了一个实例方法,但是尝试从class级别调用该方法。
class Foo
def say_this(x) # <= defines an instance method
puts x
end
say_this('words') # <= calls a class method
end
有两种方法"fix":
- 定义 class 方法而不是实例方法:
def self.say_this(x)
- 调用实例方法而不是class方法调用:
new.say_this(x)