Óà Ruby ²È²ÈËÄÈË°ï
ÉÏÉÏÖÜÔÚÊéµê¿´µ½Ò»±¾¡¶Ruby
Éè¼Æģʽ¡·£¬¼ñÆðÀ´ 10 ·ÖÖÓ¿´Í꣬ÈÓÁË£¨±ðÎÊÎÒΪʲô……£©
ÏÂÃæÓÃ Ruby
ддÉè¼Æģʽ£¬Ë³±ãÅúÒ»Åú Java ºÍ Gof
¡£
1.Factory
ºÍ Abstract Factory
class
Factory
attr_accessor :product
def
produce
@product
.new
end
end
class
Product
#..
end
fac = Factory.new
fac.product = Product
fac.produce
class Factory
attr_accessor :product
def produce
@product.new
end
end
class Product
#..
end
fac = Factory.new
fac.product = Product
fac.produce
JavaдµÄ¹¤³§ÓÐÕâô¼òµ¥£¬ÕâôÈÝÒ×ÖØÓÃô£¿
2.Builder
# ¹¤Í·
class
Director
def
build_with builder
acc = ''
[:header
, :body
, :footer
].each
do
|m|
acc += builder.__send__ m if
builder.respond_to? m
end
acc
end
end
# ¹¤ÈË
class
HTMLBuilder
def
header; '<html><title>html builder</title>'
;end
def
body; '<body>html builder</body>'
;end
def
footer; '</html>'
;end
end
Ïà¹ØÎĵµ£º
½üÈÕ´Óhttp://code.google.com/p/errfix/ÏÂÔØÁËʹÓÃruby±àдµÄMBT¹¤¾ß--errfix¡£Òò´ËÖ»ºÃѧϰһÏÂruby¡£
rubyµÄÓŵ㻹Õæ²»ÉÙ£¬ËäÈ»ÊÇСÈÕ±¾¿ª·¢µÄ£¬ºÃ¶«Î÷ҲҪѧһ°Ñ£¬Ê¦ÒÄÖ®³¤ÒÔÖÆÒÄÂï¡£
¾Ý˵ʹÓÃruby±àдÍøÒ³ÓÈÆä·½±ã£¬´ÓÍøÉÏÏÂÔØÁË¡¶ruby on railsʵ¼ù¡·Ñ§Ï°¡£±àд´ËÊéʱʹÓõÄruby°æ±¾±È½ÏÀÏ£¬ÓÐһЩº¯Êý/Ó÷¨ÔÚÐÂ°æ± ......
http://zh.wikipedia.org/wiki/WxWidgets ÖÐÎĵÄ
http://zh.wikipedia.org/zh-cn/WxWidgets ¼òÌåÖÐÎÄ
http://wxruby.rubyforge.org/wiki/wiki.pl?Using_GUI_Designers
http://visualwx.altervista.org/ RAD http://www.wxwidgets.org/
http://wiki.wxwidgets.org/Main_Page ......
¿ªÔ´²âÊÔ¹¤¾ßwatirÊDzÉÓõÄrubyÓïÑÔ½øÐпª·¢µÄ¡£ÔÚÑо¿watir¿ò¼ÜµÄʱºò£¬·¢ÏÖÓÐÒ»²¿·Öº¯ÊýwatirûÓÐÌṩ¶øÇÒÔÝʱûÕÒµ½ºÏÊʵÄgem°ü£¬¶øºÜ¶à¹¦ÄÜÔÚÎÒÃÇÔÀ´µÄ×Ô¶¯»¯²âÊÔ¿ò¼ÜÖж¼Í¨¹ýcдµÄdll½øÐÐÁËʵÏÖ£¬ÓÚÊÇÎÒÃÇÏ£ÍûÄܹ»°ÑÕⲿ·ÖµÄdllÎÞ·ìµÄÒÆÖ²µ½watirÉÏ£¬¼õÉÙÎÒÃǵŤ×÷Á¿£¬¶øÇÒ¿ÉÒÔ¸ü¸ßЧµÄʵÏÖÎÒÃÇÐèÒªµÄ¹¦ÄÜ¡£
......
require 'win32ole'
fns = Dir.glob("*.xls")
application = WIN32OLE.new("excel.application")
application.visible = TRUE
f = File.new('errorCauseEN.xml','w')
f.puts('<?xml version="1.0" encoding="utf-8"?>')
f.puts('<!-- edited with XMLSPY v5 U (http://www.xmlspy.com) by et8 (et8) ......