Ruby:如何定义util类?

时间:2012-01-05 17:10:38

标签: ruby

我们可以用实例方法定义实用程序类,然后在另一个类中,使用实用程序类的对象,调用实例方法吗?

例如,

class Usertype # utility class
  def add(a, b)
    c = a + b
    return c
  end
end

class User
  user = Usertype.new

  def test
    return user.add(1,2)
  end
end

可以这样做吗?

2 个答案:

答案 0 :(得分:7)

是的,您可以通过使用模块实现这一目标:

module Usertype
  def self.add(a,b)
    a + b
  end
end
class User
  def test
    Usertype.add 1, 2
  end
end
u = User.new
u.test

答案 1 :(得分:1)

我不确定你在问什么,但这是你可以做的:

class Usertype
   def add(a,b)
     return a + b
   end
end
class User
  def test
    u = Usertype.new
    return u.add(1,2)
  end
end

或者您可以在用户中使用实例变量:

class User
   def initialize
    @u = Usertype.new
  end
  def test
    return @u.add(1,2)
  end
end