Ruby on rails 关于Ruby的一般问题
我已经在我的rails应用程序中安装了github.com的acts_as_版本插件,其中有一段代码我不完全理解,我希望有人能帮我澄清一下Ruby on rails 关于Ruby的一般问题,ruby-on-rails,ruby,acts-as-versioned,Ruby On Rails,Ruby,Acts As Versioned,我已经在我的rails应用程序中安装了github.com的acts_as_版本插件,其中有一段代码我不完全理解,我希望有人能帮我澄清一下 class_eval <<-CLASS_METHODS def a_bunch_of_stuff .... end CLASS_METHODS class_eval这是一种内联引用大型多行字符串的方法。发件人: 字符串可以跨多个输入行继续,在这种情况下,它们将包含换行符。也可以使用here文档来表示长字符串文字。每当Ruby解析序
class_eval <<-CLASS_METHODS
def a_bunch_of_stuff
....
end
CLASS_METHODS
class_eval这是一种内联引用大型多行字符串的方法。发件人:
字符串可以跨多个输入行继续,在这种情况下,它们将包含换行符。也可以使用here文档来表示长字符串文字。每当Ruby解析序列时,它就是一个herdeoc
匹配的CLASS_方法标记基本上是起始引号和结束引号。如果您使用这些是等效的:
class SomeClass
class_eval <<-CLASS_METHODS
def first_method
end
def second_method
end
CLASS_METHODS
end
class SomeClass
def self.first_method
end
def self.second_method
end
end
class-SomeClass
等级评估
class SomeClass
class_eval <<-CLASS_METHODS
def first_method
end
def second_method
end
CLASS_METHODS
end
class SomeClass
def self.first_method
end
def self.second_method
end
end