让';s ruby在解释文件时在类内执行代码
当我有以下ruby代码时让';s ruby在解释文件时在类内执行代码,ruby,Ruby,当我有以下ruby代码时 #文件a.rb 甲级 放‘2’ 结束 如果我执行rb a.rb我会在屏幕上打印2。这是因为ruby解释代码的方式,但是,这种行为的名称是什么?它打印某些内容的原因是因为在定义classA的过程中,您要求它这样做。类块中的任何内容都被视为常规的Ruby代码,它并不特殊,因此打印、退出、建立网络连接、打开文件都可以像其他地方一样工作 这与JavaScript和C++的情况完全不同,在这里绝对不允许。 Ruby作为一种动态编程语言,有更多的自由度。这允许基于文件输入定义方法
#文件a.rb
甲级
放‘2’
结束
如果我执行
rb a.rb
我会在屏幕上打印2
。这是因为ruby解释代码的方式,但是,这种行为的名称是什么?它打印某些内容的原因是因为在定义classA
的过程中,您要求它这样做。类
块中的任何内容都被视为常规的Ruby代码,它并不特殊,因此打印、退出、建立网络连接、打开文件都可以像其他地方一样工作
<>这与JavaScript和C++的情况完全不同,在这里绝对不允许。
Ruby作为一种动态编程语言,有更多的自由度。这允许基于文件输入定义方法,或者您可以想象的任何东西
这种行为的名称基本上是“评估”,就像Ruby评估代码时,它解析并运行代码一样
这使您可以在Ruby中完成在其他语言中不可能完成的事情,而无需使用宏、预处理器技巧或其他技术:
class A
if (Date.today.saturday? or Date.today.sunday?)
def party!
:on
end
end
end
这只会定义
聚会当代码在周末运行时使用code>方法。它打印某些内容的原因是因为在定义classa
的过程中,您要求它这样做。类
块中的任何内容都被视为常规的Ruby代码,它并不特殊,因此打印、退出、建立网络连接、打开文件都可以像其他地方一样工作
<>这与JavaScript和C++的情况完全不同,在这里绝对不允许。
Ruby作为一种动态编程语言,有更多的自由度。这允许基于文件输入定义方法,或者您可以想象的任何东西
这种行为的名称基本上是“评估”,就像Ruby评估代码时,它解析并运行代码一样
这使您可以在Ruby中完成在其他语言中不可能完成的事情,而无需使用宏、预处理器技巧或其他技术:
class A
if (Date.today.saturday? or Date.today.sunday?)
def party!
:on
end
end
end
这只会定义聚会代码>方法,当代码在周末运行时。另一个示例:G类;def self.g;把“嗨”;结束;Gdef h;结束;end
显示“hi”
,然后返回:h
。更好的是:B类;def b;把“嗨”;结束;新的.b;end
显示“hi”
,然后返回nil
;def self.g;把“嗨”;结束;Gdef h;结束;end
显示“hi”
,然后返回:h
。更好的是:B类;def b;把“嗨”;结束;新的.b;end
显示“hi”
,然后返回nil
。