Chinaunix
标题:
关于方法调用的问题
[打印本页]
作者:
i_love_ruby
时间:
2011-10-20 11:39
标题:
关于方法调用的问题
上代码:
第一个文件 test_one.rb:
module MyModule
def my_print
p "hello this a test."
end
end
第二个文件 test_two.rb
class TestTwo
def to_print
在这个方法里面如何调用 test_one.rb 的 my_print 呀?
end
end
瓜瓜, 在不在呀? 给我看看,我搞了半天也不知道咋弄。
我现在用的Eclipse 也没有警告 和 提示,烦的很,
谢谢谢谢谢谢!!!!!!!!!!!!!!!
作者:
coolesting
时间:
2011-10-20 12:03
本帖最后由 coolesting 于 2011-10-20 12:05 编辑
require './test_one'
include MyModule
class TestTwo
#include MyModule
def to_print
my_print
end
end
复制代码
no test
作者:
i_love_ruby
时间:
2011-10-20 13:43
回复
2#
coolesting
谢谢~~
我运行了一下,是可以的。
请问能给我讲解一下吗?
require './test_one' 这相当于 Java 中的import ? 还是?
include MyModule 为什么这样用呢?
或者你能告诉我 这样调用的原理是什么?
谢谢~~~
谢谢~~
作者:
2gua
时间:
2011-10-20 13:50
自己要看资料哦,别啥都问,这不是好的学习方法咯~~
作者:
i_love_ruby
时间:
2011-10-20 14:04
回复
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
作者:
i_love_ruby
时间:
2011-10-20 14:05
{:2_172:}
回复
4#
2gua
{:3_182:}
{:2_168:}
作者:
i_love_ruby
时间:
2011-10-20 14:06
回复
2#
coolesting
通过你的指点,我从网上找了找资料, 请看看我的总结请看看是否有出入.
作者:
coolesting
时间:
2011-10-20 14:48
requre加载文件, 只加载一次, load可加载多次
include是包含, 引用, 不加载文件, 一般引用module的方法时用,
这两个相当其它语言的,
require => use
include => import
作者:
2gua
时间:
2011-10-21 13:07
Ruby的语法糖很甜,我感觉Ruby追求的理念是魔幻,这对初学者是容易造成困惑的,所以,学好Ruby的最佳方法,是入门时系统些,循序渐进的方式,推荐你学习《Ruby编程语言》。
作者:
i_love_ruby
时间:
2011-11-08 09:27
回复
9#
2gua
谢谢
作者:
2gua
时间:
2011-11-08 17:56
回复
10#
i_love_ruby
不客气。
欢迎光临 Chinaunix (http://bbs.chinaunix.net/)
Powered by Discuz! X3.2