免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 3714 | 回复: 10
打印 上一主题 下一主题

关于方法调用的问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 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 也没有警告 和 提示,烦的很,

谢谢谢谢谢谢!!!!!!!!!!!!!!!

论坛徽章:
0
2 [报告]
发表于 2011-10-20 12:03 |只看该作者
本帖最后由 coolesting 于 2011-10-20 12:05 编辑
  1. require './test_one'
  2. include MyModule

  3. class  TestTwo

  4.    #include MyModule
  5.    def to_print

  6.       my_print

  7.    end

  8. end
复制代码
no test

论坛徽章:
0
3 [报告]
发表于 2011-10-20 13:43 |只看该作者
回复 2# coolesting


    谢谢~~
我运行了一下,是可以的。
请问能给我讲解一下吗?

require './test_one' 这相当于 Java 中的import ? 还是?

include MyModule 为什么这样用呢?
或者你能告诉我 这样调用的原理是什么?
谢谢~~~
谢谢~~

论坛徽章:
0
4 [报告]
发表于 2011-10-20 13:50 |只看该作者
自己要看资料哦,别啥都问,这不是好的学习方法咯~~

论坛徽章:
0
5 [报告]
发表于 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

论坛徽章:
0
6 [报告]
发表于 2011-10-20 14:05 |只看该作者
{:2_172:} 回复 4# 2gua


    {:3_182:} {:2_168:}

论坛徽章:
0
7 [报告]
发表于 2011-10-20 14:06 |只看该作者
回复 2# coolesting


     通过你的指点,我从网上找了找资料, 请看看我的总结请看看是否有出入.

论坛徽章:
0
8 [报告]
发表于 2011-10-20 14:48 |只看该作者
requre加载文件, 只加载一次, load可加载多次

include是包含, 引用, 不加载文件, 一般引用module的方法时用,  

这两个相当其它语言的,

require => use
include => import

论坛徽章:
0
9 [报告]
发表于 2011-10-21 13:07 |只看该作者
Ruby的语法糖很甜,我感觉Ruby追求的理念是魔幻,这对初学者是容易造成困惑的,所以,学好Ruby的最佳方法,是入门时系统些,循序渐进的方式,推荐你学习《Ruby编程语言》。

论坛徽章:
0
10 [报告]
发表于 2011-11-08 09:27 |只看该作者
回复 9# 2gua


    谢谢
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP