【发布时间】:2016-12-07 12:03:41
【问题描述】:
我正在尝试理解在类中包含或继承模块的概念。每当我阅读时,我都会获得在类中包含或继承模块的新方法。所以只想知道有多少种方法。以下是我分享的示例:
示例 1
module TimeExtensions
refine Fixnum do
def minutes; self * 60; end
end
end
class MyApp
using TimeExtensions
def initialize
p 2.minutes
end
end
示例 2
VAL = 'Global'
module Foo
VAL = 'Foo Local'
class Bar
def value1
VAL
end
end
end
class Foo::Bar
def value2
VAL
end
end
示例 3
module Foo
def foo
puts 'heyyyyoooo!'
end
end
class Bar
include Foo
end
【问题讨论】:
-
这三个例子做了非常不同的事情。你可以问这三者之间有什么区别。另一方面,如果你只是想要相同的不同语法,你可以获得很多,但有什么意义呢?
-
我正在学习如何在一个类中包含一个模块。每次我看到我得到不同的方式。所以我的问题是为什么有 3 种方法来做一件小事..
-
这三件事彼此之间的关系为零。另外,这与 Rails 4 有什么关系?
标签: ruby ruby-on-rails-4 ruby-on-rails-5