Çø±ðRubyµÄrequire,load,ºÍinclude
ÈýÕßÖ®¼äÇø±ð²¢²»ÏñÄãÏëµÄÄÇôÄÑ£¬Ò²²»»áÏñÓÐЩÎÄÕÂдµÄÄÇô³¤¡£Í¦¼òµ¥µÄ¡£
Ïà֮ͬ´¦£ºÈýÕß¾ùÔÚkernelÖж¨ÒåµÄ£¬¾ùº¬Óаüº¬½øÄ³ÎïÖ®Òâ¡£
²»Í¬Ö®´¦£º
1¡¢requre,loadÓÃÓÚÎļþ£¬Èç.rbµÈµÈ½áβµÄÎļþ¡£
2¡¢includeÔòÓÃÓÚ°üº¬Ò»¸öÎļþ(.rbµÈ½áβµÄÎļþ)ÖеÄÄ£¿é¡£
3¡¢requreÒ»°ãÇé¿öÏÂÓÃÓÚ¼ÓÔØ¿âÎļþ£¬¶øloadÔòÓÃÓÚ¼ÓÔØÅäÖÃÎļþ¡£
4¡¢requre¼ÓÔØÒ»´Î£¬load¿É¼ÓÔØ¶à´Î¡£
ÔõôÑù£¬¼òµ¥°É£¡ÔÙ¿´¸öÀý×Ó¡£
Èç¹û˵abc.rbÖаüº¬Ò»¸öÄ£¿éMa£¬ºÍ¼¸¸öÀàCa,CbµÈµÈ¡£ÄÇôÄãÈôÏëÔÚef.rbÎļþÖÐʹÓÃabc.rbÖеÄ×ÊÔ´£¬ÄãµÃÕâÑù:
require 'abc.rb'
Èô»¹ÏëÔÚef.rbµÄij¸öÀàÖÐʹÓÃabc.rbÖеÄÄ£¿é£¬ÔòÓ¦ÔÚÕâ¸öÀàÖмÓÈë
include Ma
Èç¹ûÄãÖ»ÏëÔÚef.rbÎļþµÄij¸öÀàÖÐʹÓÃabc.rbµÄÄ£¿é£¬ÄãµÃÕâÑù£º
require 'abc.rb'
include Ma
ÕâÁ½¾ä¾Í¸æËßÁËÄãËüÃÇÇø±ð¡£
ÏÂÃæ²¿·ÖÕª×ÔÓÚ£ºhttp://anw.stikipad.com/ocean/show/require+load+and+include
Ruby ÖÐ “require”, “load” ºÍ “include” ÓÐÉõ麼²»Í¬ÄØ? “require” ºÍ “load” ÓÃ;ÊÇÒ»ÖµÄ, ÓÃ來載ÈëеijÌʽ庫, “include” ÊÇÓÃ來 mix-in Ä£組.
“require” ¿É載Èëij個 a.rb 檔°¸, ÇÒ¿ÉÒÔÊ¡ÂÔ ”.rb”. ¶øÇÒËüÖ»會ÔÚµÚÒ»´ÎµÄ時ºò載Èë, ÈôÔÙ´Î “require” 時¾Í會ºöÂÔ
require 'a'
a = A.new
“load” ºÍ “require” Ò»樣µ«ÒªÓà a.rb È«Ãû, ÇÒÿ´ÎÒ»¶¨會ÖØÐÂ載Èë
load 'a.rb'
a = A.new
載Èë³Ìʽ庫µÄ順ÐòÄØ(類ËÆ java class path)? Ruby °Ñ這個資訊´æÔÚ ”$:” ϵ統È«Óò變數ÉÏ, Äã¿ÉÒÔ½åÖø RUBYLIB »ò ruby -I 來¼ÓÈëеÄ載ÈëÄ¿錄.
puts $:
“include” ÓÃ來 mix-in ij個Ä£組, ¿ÉÒÔ減ÉÙ書寫µÄ長¶È
require 'webrick'
include WEBrick
//¿ÉÒÔ²»ÓÃ server = WEBrick::HTTPServer.new(...)
server = HTTPServer.new(...)
Íâһƪ£º
²»Í¬µã£º Load£º
1¡¢Ã¿´ÎÖ´ÐÐloadµÄʱºò£¬Ëü¶¼»áÎÞÌõ¼þµÄ¼ÓÔØÖ¸¶¨µÄrubyµÄÔ´Îļþ¡£
2¡¢Ê¹ÓÃËü
Ïà¹ØÎĵµ£º
±¾ÎĽéÉÜÁËRuby on RailsµÄÏêϸ°²×°²½Öè¡£ÎÄÖÐʹÓõÄRuby on Rails°æ±¾ÊÇ1.8.6-26¡£°²×°RubyÖ®ºó°²×°Rails£¬È»ºó¾Í¿ÉÒÔ´´½¨WebÓ¦Ó㬲¢ÔÚ±¾µØ²âÊÔÁË¡£
1¡¢°²×°ruby
²»ÓÃ˵ ÊÇÏÂÔØ°²×°°ü£ºhttp://rubyforge.org/frs/?group_id=167£¬×¢Òâ°æ±¾---º¦È˲»Ç³£¬ºóÃæ»á˵µ½£¬ÎÒϵÄÊÇ1.8.6-26
×°Íêºó£¬¿ÉÒÔÓÃruby -v ²âÊÔÊÇ·ñ° ......
While looking for information on the subject, I looked into the ONLamp article Extending Ruby with C by Garrett Rooney, the Extending Ruby chapter in the Pickaxe, README.EXT (located at /usr/share/doc/ruby1.8-dev/README.EXT.gz on my Ubuntu system) and got some help from Kjetil.
The resulting file c ......
Ò»£¬Ruby°²×°£º
http://rubyforge.org/frs/download.php/29263/ruby186-26.exe
¹Ù·½ÍøÕ¾ÏÂÔØruby186-26(for windows)£¬Ä¬Èϰ²×°ruby£»
·¾¶c:\ruby
¶þ£¬railsÏÂÔØ°²×°£º
http://rubyforge.org/frs/download.php/29361/rails-2.0.2.zip
ÏÂÔØrails2.0.2.zip£¬½«ÆäcopyÖÁruby°²×°Â·¾¶£¬²¢¸ÄÃûΪrails.zip£»
³¢ÊÔ²»½âÑ¹Ö ......
require 'win32ole'
excel = WIN32OLE::new('excel.Application')
workbook = excel.Workbooks.Open('E:\RubyApp\bmk.xls')
worksheet = workbook.Worksheets(1) #get hold of the first worksheet
worksheet.Select #bring it to the front -need sometimes to run macros, not for working with a worksheet from ru ......
rubyÖÐ×Ô´øÊµÏÖ¹Û²ìÕßģʽµÄÀàobserver¡£¿ÉÒÔÀûÓÃËüÀ´ÊµÏÖ¹Û²ìÕßģʽ¡£
´úÂëÀý×Ó£º
# -*- coding: GB2312 -*-
require 'observer'
# ¹Û²ìÕßģʽ(ruby)µÄʹÓÃÀý×Ó
# ±»¹Û²ìÕßP
class PObservable
include Observable
end
# ¹Û²ìÕßA
class AObserver
# update·½·¨ÃûÊDZØÐëµÄÒªÓеÄ
def update(arg)
puts "AO ......