51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 4024|回复: 0
打印 上一主题 下一主题

Ruby 中路径,类(class),模块(module)设置总结

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2008-7-8 10:06:59 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
Above are the problems a newer may encounter.
So, I made a summary, expected that, you could gain something from it.

1. class_test.rb
#Define class with class, and it can be continued
class ClassTest
  class ClassTest
  class ClassTest
  def str_output1(str)
  puts "Now, #{str} is putted out, for class test\"
  end
  def self.str_output2(str)
  puts "Now, #{str} is putted out, for class test"
  end
  end
  end
end

2. module_test.rb
#Define module with module, and it can be continued
module ModuleTest
  module ModuleTest
  module ModuleTest
  def arr_output1(arr)
  arr.each {|x| puts x}
  end
  def self.arr_output2(arr)
  arr.each {|x| puts x}
  end
  end
  end
end

3.main_test.rb
require File.dirname(__FILE__) +'/../test1/module_test'
require File.dirname(__FILE__) +'/../test2/class_test'
include ModuleTest::ModuleTest::ModuleTest
class MainTest
  str="God bless with you"
  arr=["God", "bless","with you"]
  
  puts "Now, use method arr_output1(arr) in module_test.rb"
  arr_output1(arr)
  
  puts "Now, use method arr_output2(arr) in module_test.rb"
  ModuleTest::ModuleTest::ModuleTest.arr_output2(arr)
  
  puts "Now, use method str_output1(str) in class_test.rb"
  str2=ClassTest::ClassTest::ClassTest.new
  str2.str_output1(str)
  
  puts "Now, use method str_output2(str) in class_test.rb"
  ClassTest::ClassTest::ClassTest.str_output2(str)
end

Above is about how do deal with
class with class,
module with module,
or module with class,
and how to set the require path.
(If we want to go to Parent Directory, we just need add '/../' after the path "__FILE__"), of course '/../../' is valid.

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-9-22 01:28 , Processed in 0.077712 second(s), 28 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表