【问题标题】:Calling a class method within a class在类中调用类方法
【发布时间】:2010-09-25 01:28:50
【问题描述】:

我意识到这可能是一个幼稚的问题,但我仍然无法弄清楚如何在 Ruby 类中从另一个方法调用一个方法。

即在 Ruby 中是否可以执行以下操作:

class A
   def met1
   end
   def met2
      met1 #call to previously defined method1
   end
end

谢谢,

RM

【问题讨论】:

  • 我会说你的例子工作得很好(在met1中有一些东西)。
  • 这是可能的,它就像你做的那样:)

标签: ruby


【解决方案1】:

那些不是类方法,它们是实例方法。在您的示例中,您可以使用该类的实例从 met2 调用 met1 而不会出现问题:

class A
   def met1
     puts "In met1"
   end
   def met2
      met1
   end
end

var1 = A.new
var1.met2

下面是等效的使用类方法,您通过在方法名称前加上其类名来创建:

class A
   def A.met1
     puts "In met1"
   end
   def A.met2
      met1
   end
end

A.met2

【讨论】:

  • 感谢您的回答......由于某种原因我之前没有为我工作
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-12-30
  • 1970-01-01
  • 2016-02-14
  • 2021-05-13
  • 2020-03-01
  • 2019-01-05
  • 2010-11-19
相关资源
最近更新 更多