关于方法调用的问题
上代码:第一个文件 test_one.rb:
module MyModule
def my_print
p "hello this a test."
end
end
第二个文件 test_two.rb
classTestTwo
def to_print
在这个方法里面如何调用 test_one.rb 的 my_print 呀?
end
end
瓜瓜, 在不在呀? 给我看看,我搞了半天也不知道咋弄。
我现在用的Eclipse 也没有警告 和 提示,烦的很,
谢谢谢谢谢谢!!!!!!!!!!!!!!! 本帖最后由 coolesting 于 2011-10-20 12:05 编辑
require './test_one'
include MyModule
classTestTwo
#include MyModule
def to_print
my_print
end
endno test 回复 2# coolesting
谢谢~~
我运行了一下,是可以的。
请问能给我讲解一下吗?
require './test_one' 这相当于 Java 中的import ? 还是?
include MyModule 为什么这样用呢?
或者你能告诉我 这样调用的原理是什么?
谢谢~~~
谢谢~~ 自己要看资料哦,别啥都问,这不是好的学习方法咯~~ 回复 4# 2gua
A.
require 'filename'
include ModuleName
B.
include用于包含一个文件(.rb等结尾的文件)中的模块
require一般情况下用于加载库文件
C.
requre,load用于文件,如.rb等等结尾的文件。
include则用于包含一个文件(.rb等结尾的文件)中的模块。
requre一般情况下用于加载库文件,而load则用于加载配置文件。
requre加载一次,load可加载多次
D.
如果说 test_one.rb 中包含一个模块MyModule,和几个类Ca,Cb等等。那么你若想在 test_two.rb 文件中使用
test_one.rb 中的资源,你得这样:
require 'test_one.rb'
若还想在 test_two.rb 的某个类中使用 test_one.rb中的模块,则应在这个类中加入
include MyModule
如果你只想在 test_two.rb 文件的某个类中使用 'test_one.rb' 的模块,你得这样:
require './test_one'
include MyModule {:2_172:} 回复 4# 2gua
{:3_182:} :em27: {:2_168:} 回复 2# coolesting
通过你的指点,我从网上找了找资料, 请看看我的总结请看看是否有出入. requre加载文件, 只加载一次, load可加载多次
include是包含, 引用, 不加载文件, 一般引用module的方法时用,
这两个相当其它语言的,
require => use
include => import Ruby的语法糖很甜,我感觉Ruby追求的理念是魔幻,这对初学者是容易造成困惑的,所以,学好Ruby的最佳方法,是入门时系统些,循序渐进的方式,推荐你学习《Ruby编程语言》。 回复 9# 2gua
谢谢
页:
[1]
2