Ruby¼Ì³Ð
¾ÅͲһÌõ
Ruby ÀàµÄ¼Ì³Ð
¹Ø¼ü×Ö: Ruby ÀàµÄ¼Ì³Ð
Ò»¡¢ÆÕͨ·½Ê½µÄ¼Ì³Ð
RubyÖ»Ö§³Öµ¥¼Ì³Ð
ruby ´úÂë
class
Child < Father
......
end
ObjectÊÇËùÓÐÀàµÄÊ¼×æ£¬²¢ÇÒObjectµÄʵÀý·½·¨¶ÔrubyµÄËùÓжÔÏó¶¼ÊÇ¿ÉÓõġ£
superµÄʹÓãº
1¡¢ÔÚinitializeÖÐʹÓÃsuper£¬½«µ÷ÓÃÆä¸¸ÀàµÄinitialize·½·¨
2¡¢ÔÚÒ»°ãµÄʵÀý·½·¨ÖÐʹÓ㬽«µ÷ÓÃÆä¸¸ÀàÖÐͬÃûµÄ·½·¨¡£
ÏòÒ»¸ö¶ÔÏó·¢Ë͵÷Ó÷½·¨Ê±£¬rubyµÄ±¾Öʹý³ÌÈçÏ£º
1¡¢ruby½«¼ì²é¸Ã¶ÔÏóËùÊôµÄÀ࣬Èç¹û¸ÃÀàʵÏÖÁ˸÷½·¨£¬¾ÍÔËÐи÷½·¨
2¡¢Èç¹û¸ÃÀàûÓÐʵÏָ÷½·¨£¬ruby½«ÕÒµ½ÆäÖ±½Ó¸¸ÀàÖеķ½·¨£¬È»ºóÊÇÆä׿¸¸À࣬·²´ËÒÔÍù×·ËÝÕû¸ö׿ÏÈÁ´
3¡¢Èç¹û×îÖÕûÓÐÕÒµ½ºÏÊÊ·½·¨£¬ruby»á²úÉúÒ»¸öÌØÊâµÄÐÐΪ£¬Òý·¢Òì³£´íÎó
£¨×¢ÒâÕâÀ︸À࣬Èç¹û¸ÃÀàÖÐincludeÁËÒ»¸ömodule£¬ÔòrubyÈç¹ûÔÚ¸ÃÀàÖÐûÓÐÕÒµ½¸Ã·½·¨¶¨ÒåÊÇ£¬»á°Ñmoduleµ±³ÉÖ±½Ó¸¸Àࣩ
¶þ¡¢Mixin
Õâ¸öÊÇrubyÌṩ¸øÄ£¿éµÄ¹¦ÄÜ¡£ÀඨÒåÖУ¬Í¨¹ýincludeÒ»¸öÄ£¿é¡£µ±ÀàʹÓÃincludeºó£¬Ä£¿éµÄËùÓеÄʵÀý·½·¨£¨ºÍ³£Á¿£©ÔÚ¸ÃÀàÖоͿÉÒÔʹÓÃ
ÁË¡£ÏÂͼÏÔʾÁËÀàºÍmixinÄ£¿éÖ®¼äµÄ¹ØÏµÆäÔÀíÊÇ£¬µ±Ò»¸öÀà°üº¬Ò»¸öÄ£¿éʱ£¬Ruby´´½¨ÁËÒ»¸öÖ¸Ïò¸ÃÄ£¿éµÄÄäÃû´úÀíÀ࣬²¢½«Õâ¸öÄäÃû´úÀí²åÈ뵽ʵʩ
°üº¬µÄÀàÖÐ×÷ΪÆäÖ±½Ó³¬Àà¡£´úÀíÀàÖаüº¬ÓÐÖ¸ÏòÄ£¿éʵÀý±äÁ¿ºÍʵÀý·½·¨µÄÒýÓá£Õâ¸ö´úÀíÀàÊÇΨһָÏòµ×²ãÄ£¿é£º¸Ä±äÄ£¿éÖÐij¸ö·½·¨µÄ¶¨Òå
Ëü½«¸Ä±äËùÓаüº¬¸ÃÄ£¿éµÄÀà¡£
×¢Ò⣺
1¡¢Ä£¿éºÍÀàµÄÇø±ðÔÚÓÚ£¬Ä£¿é²»ÄÜʵÀý»¯£¬À಻ÄÜinclude
2¡¢Èç¹ûÄ£¿éºÍÀ಻ÔÚͬһ¸öÎļþÖУ¬Èç¹ûҪʹÓÃinclude£¬ÔòÏÈʹÓÃrequire£¬°ÑÎļþÒýÈë¡£
3¡¢include²¢²»ÊǼòµ¥µÄ½«Ä£¿éµÄʵÀý±äÁ¿ºÍ·½·¨¿½±´µ½ÀàÖУ¬¶øÊÇ£¬ËüÊǽ¨Á¢Ò»¸öÓÉÀൽËù°üº¬Ä£¿éµÄÒýÓá£Èç¹û¶à¸öÀà
ÒýÓøÃÄ£¿é£¬¶¼½«Ö
Ïà¹ØÎĵµ£º
ÔÚRuby on RailsÖÐÕæµÄÓÐÒ»¶ÑSelect helper¿ÉÒÔÓÃ,ÎÒÃǾ³£ÈÝÒ×»ìÏý¡£³£¼ûµÄÓÐÈý¸ö..
select, select_tag, collection_select(ÆäÓàµÄʲôselect_dateÄÇЩ²»Ì¸)
ÎÒÃÇÏÈÀ´¿´¿´Ò»¸ö»ù±¾µÄÏÂÀʽѡÏî¹Ç¼Ü
</p>
<select
name="ROR">
<option
value="1">ROR1</option><br
/>
<optio ......
·ÖÒ³ÖÐÓõ½Àà±äÁ¿£¬Ö÷ÒªÊÇÓÃÀ´±ê¼Ç¡°Ò³ÂëÊäÈë¿ò¡±µÄid Èç¹ûÒ»¸öÒ³ÃæÓм¸¸ö·ÖÒ³£¬¡°Ò³ÂëÊäÈë¿ò¡±µÄidÒªÊDz»Í¬µÄ²ÅÄÜ·ÖÇåÊÇÄĸöÒª·ÖÒ³¡£Ê¹ÓÃÀà±äÁ¿¾ÍÊÇΪÁË´ïµ½Õâ¸öÄ¿µÄ£¬ÈÃËùÓеĶÔÏóʵÀý¹²ÓÃÒ»¸ö±äÁ¿£¬²»±ØÃ¿´ÎÖØÐ³õʼ»¯±äÁ¿¡£ Àà±äÁ¿Ê¹ÓôúÂëʾÀý 1 require 'ruby-debug'
2 debugger
3 cla ......
class Point
@x = 1
@y = 2
def initialize(x,y)
@x,@y = x,y
end
end
´úÂëÖеÄ@x£¬@yΪʵÀý±äÁ¿£¬ÊµÀý±äÁ¿Ö»¶ÔselfµÄ»·¾³Æð×÷Óã¬Òò´ËinitializeÍâÃæµÄ@x=1£¬@y=2Ö»¶ÔÀà±¾ÉíÆð×÷Ó㬶ø·½·¨ÄÚ²¿£¬µÄ@x£¬@yÊǶԶÔÏóµÄʵÀýÆð×÷Óõġ£
class Point
include Enumerable
def initialize(x ......
ÎÒÃÇÔÚʹÓÃC±à³Ìʱ»áÓöµ½Ò»¸öÎÊÌ⣬±ÈÈçÍ·ÎļþµÄÒ»¸öº¯Êý°üº¬ÔÚÒ»¸ölibÖУ¬µ«ÊÇ
ÔÚʵ¼ÊÁ¬½ÓÖÐÎÒÃDz»ÖªµÀËüÔÚÄĸö¿âÖС£Ò²Ðí¿ÉÐеÄÒ»ÖÖ°ì·¨ÊÇÖ±½ÓÉÏÍø²éѯij¸ö
º¯ÊýµÄÒÀÀµÌõ¼þ£¬Õâ¶ÔÓÚ³£Óú¯ÊýÊÇûÎÊÌâµÄ£¡µ«ÊǶÔÓÚ¸´ÔÓ¶øÓÖȱÉÙÎĵµµÄµÚÈý·½
libÀ´Ëµ£¬ÎÞÒìÓÚ´óº£ÀÌÕë¡£
×Ô´Ëͨ¹ý2ÖÖ°ì·¨À´³¢ÊÔ½â¾öÕâ¸öÎÊÌ⣬ÎÒÃÇÏÈ¿´µÚÒ» ......
ruby³£¹æ·ÃÎÊaccessÊý¾Ý¿âµÄ·½·¨Ó¦¸ÃÊÇʹÓÃDBI¿â
£º
require 'dbi'
DBI.connect("DBI:ADO:Provider=Microsoft.Jet.OLEDB.4.0;Data Source=db.mdb;")
¿ÉÊÇ
¼òµ¥³¢ÊÔÖ®ºóûÄܳɹ¦£¬ÌáʾÕÒ²»µ½Çý¶¯Æ÷ADO,ÀÁµÃÔÙÊÔ£¬ËìÕÒÆäËû·½·¨¡£
Ò»·¬ËÑË÷Ö®ºó£¬·¢ÏÖ¿ÉÒÔÓÃWIN32OLEÀ´·ÃÎÊaccess,дһ¸ö¼òµ¥µÄÀà°ü×°Ö®:
......