我正试图在项目中找到错误的原因。我认为这个问题的主题是原因。以下是一些描述问题的代码:
sed -i "/<\/Testing>/i '<Tester>$VAR</Tester>'" filename
那么,是否可以从类中的classmethod调用类外的方法?从我尝试过它似乎没有用,但我不确定。
答案 0 :(得分:2)
检查
class Class2
def self.method()
content = 10
return content
end
end
class Class
def self.classmethod()
number = Class2.method()
puts number
end
end
答案 1 :(得分:1)
在类方法上下文中使用self
这一事实意味着您要在类上调用它。由于该方法未在该类中定义,因此您将收到错误。如果删除调用的self.
部分,则会成功。
def foo
10
end
class Bar
def self.baz
puts foo
end
end
但是,它只会因主范围中定义的方法而起作用。如果所有内容都包含在模块中,则必须明确说明方法的位置:
module Bong
def self.foo
10
end
class Bar
def self.baz
puts Bong.foo
end
end
end