将模块添加到World与在Cucumber中添加Class有什么区别?

时间:2012-04-24 17:37:53

标签: ruby cucumber

例如。

在黄瓜的铁轨上使用红宝石时你可以做到这两点

示例

class Awesome
   def thing
   end
end

World{ Awesome.new }

模块示例

module Awesome
   def thing
   end
end

World(Awesome)

为什么我会使用一个而不是另一个?有什么不同?

1 个答案:

答案 0 :(得分:0)

没有区别,因为类的类继承自模块的类。唯一的区别是您无法实例化模块。通常在黄瓜中你不需要这样做,所以模块就可以了。如果你以某种方式需要在世界和其他地方包含一些东西你必须做一个实例 - 你可以去上课,但我几乎无法想象这样的情况,