Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

Ruby 101£º·½·¨¶ÔÏó


Ruby 101£º·½·¨¶ÔÏó
Written by Allen Lee
´Ó·½·¨µ÷ÓÃ˵Æð
      ÔÚÉÏһƪÎÄÕÂÀÎÒÃÇ¿´µ½µ÷ÓöÔÏóµÄ·½·¨ÊµÖÊÉÏÊÇÏò¶ÔÏó·¢ËÍÏûÏ¢£¬ÏÂÃæ£¬ÎÒÃÇÔÙÀ´¿´Ò»¸öÓÐȤµÄÓ¦Óá£ÔÚRubyÀ×Öµä¿ÉÒÔͨ¹ý {key => value} À´´´½¨£¬Èç¹ûÄãʹÓõİ汾ÊÇ1.9»òÒÔÉÏ£¬µ±keyµÄÀàÐÍÊÇSymbolʱ£¬´´½¨×ÖµäµÄÓï·¨¿ÉÒÔ½øÒ»²½¼ò»¯Îª {key: value} £¨×¢Ò⣬ðºÅÒª½ôÌùÔÚkeyºóÃæ£©£¬ÕâʹµÃÎÒÃÇ¿ÉÒÔ´´½¨ÕâÑùµÄ¶ÔÏó£º

´úÂë 1
ÓÐûÓоõµÃÕâ¸öд·¨ºÜÃæÊ죿ÓÐЩͬѧ¿ÉÄÜÒѾ­¿´³öÀ´ÁË£¬Õâ¸öд·¨ºÜÏñJSON£¬ÊÂʵÉÏ£¬Õâ¸ö´úÂëÕýÊÇ·ÂÕÕWikipediaÉϵÄJSONʾÀý´úÂëд³öÀ´µÄ£¬È»¶ø£¬ÓÉÓÚËü±¾ÉíÊÇÒ»¸ö×Öµä¶ÔÏó£¬ÔÚ·ÃÎÊÀïÃæµÄÄÚÈÝʱÐèҪʹÓÃ×ÖµäµÄÓï·¨£º

´úÂë 2
ÏÖÔÚ£¬Çë˼¿¼Ò»Ï£¬ÓÐûÓа취ʹËü½ÓÊÜÕâÑùµÄ×ö·¨ÄØ£º

´úÂë 3
ÓÐЩͬѧ¿ÉÄÜÒѾ­·´Ó¦¹ýÀ´ÁË——´ò¿ªHashÀà£¬ÖØÐ´method_missing·½·¨£º

´úÂë 4
µ±ÎÒÃǵ÷ÓÃfirst_nameºÍphone_numbersµÈ²»´æÔڵķ½·¨Ê±£¬¾Í»á´¥·¢method_missing·½·¨£¬ËüÊ×Ïȼì²é×ÖµäÊÇ·ñ°üº¬Õâ¸ö·½·¨Ãû£¬ÈôÊÇ£¬·µ»Ø¶ÔÓ¦µÄÖµ£¬·ñÔò£¬×ª½»super´¦Àí¡£ÏÂÃæ£¬ÎÒÃÇÖ´ÐÐһϴúÂ룺

ͼ 1
ºÜºÃ£¬»ù±¾ÉÏ´ïµ½ÎÒÃǵÄÔ¤ÆÚÁË£¬µ«ÊÇ£¬ÕâÖÖ×ö·¨ÖÁÉÙ´æÔÚÁ½¸ö±×²¡£¬µÚÒ»£¬ËüÇ¿ÖÆËùÓÐ×ÖµäʹÓÃÕâÖÖÖØ¶¨ÏòÂß¼­£¬µÚ¶þ£¬Èç¹û×ÖµäµÄÏÖÓз½·¨ºÍËüµÄ¼ü³öÏÖÖØÃû£¬Öض¨ÏòÂß¼­½«±»ºöÂÔ£¬ÒòΪÏÖÓз½·¨½«±»ÓÅÏȵ÷Ó㬲»»á´¥·¢method_missing·½·¨£¬ÄÇô£¬Ôõô½â¾öÕâÁ½¸öÎÊÌ⣿àÅ……ºÜ±§Ç¸£¬ÕâЩÎÊÌâ²»ÊǽñÌìµÄÖ÷½Ç£¬»¹ÊÇ´ýµ½ËüÃǵÄÖ÷Ï·ÉÏÑÝ֮ʱÔÙÐзֽâ°É……
      ÏÖÔÚ£¬Çë˼¿¼Ò»¸öÎÊÌ⣬µ±ÎÒÃǵ÷ÓÃÒ»¸ö·½·¨Ê±£¬ÎÒÃÇÖ»Ðè"Ö±ºôÆäÃû"£¬Ïñ´úÂë3µÄfirst_nameºÍcityµÈ·½·¨ÄÇÑù£¨µ±È»£¬¼ÓÉÏ"()"Ò²ÊÇ¿ÉÒԵ쬼´person1.first_name()£©£¬ÕâÒâζ×Å£¬µ±ÎÒÃÇÒýÓÃÒ»¸ö·½·¨µÄÃû×Öʱ£¬ÎÒÃÇʵ¼ÊÉÏÔÚÒýÓÃËüµÄ·µ»ØÖµ£¬ÄÇô£¬Èç¹ûÎÒÏë°ÑÒ»¸ö·½·¨±¾Éí¶ø²»ÊÇËüµÄ·µ»ØÖµ×÷Ϊ²ÎÊý´«¸øÁíÒ»¸ö·½·¨ÄØ£¿¿¼ÂÇÕâÑùÒ»¸öÇé¾°£¬ÎÒÓÐÒ»¸ö¹ºÎï³µ£¬ÄÚÓÐͼÊéÈô¸É£º

´úÂë 5
ͼÊéͨ¹ýcalc_preferential_price·½·¨¼ÆËãÓŻݼ۸ñ£º

´úÂë 6
ÏÖÔÚ£¬ÎÒÏë´´½¨Ò»¸öcheck_out·½·¨£¬ÓÃÀ´¼ÆËã»õ¿î£º

´úÂë 7
ÄÇô£¬ÎÒ¸ÃÈçºÎ°Ñcalc_preferential_price·½·¨´«¸øcheck_out·½·¨£¿
      Ö±½Ó°Ñ·½·¨µÄÃû×Ö´«¸øËü¿Ï¶¨²»ÐУ¬ÒòΪ"Ö±ºôÆäÃû"Òâζ×ŵ÷ÓÃËü£¬µÃµ½µÄÊÇËüµÄ·µ»ØÖµ


Ïà¹ØÎĵµ£º

¶ÔRuby VMµÄGCµÄ˼¿¼

RubyËäÈ»ÊǶ¯Ì¬½Å±¾ÓïÑÔ£¬µ«ÊǺÍJavaÒ»Ñù£¬´øÓÐVM£¬ÓÐ×Ô¼ºµÄÄÚ´æ¶Ñ£¬´´½¨¶ÔÏóµÄʱºòÔÚ¶ÑÀïÃæ·ÖÅäÄڴ棬¶ÔÏóʹÓÃÍê±ÏÓÉGC½øÐлØÊÕ¡£µ«ÊÇͨ¹ýÎÒÃÇÔËÓªRailsÍøÕ¾Á½Äê¶àµÄʵ¼ùÀ´¿´£¬Ruby VMµÄGC»¹ÊÇ´æÔںܴóµÄÎÊÌâ¡£¼òµ¥µÄÀ´Ëµ£¬¾ÍÊÇGCÖ®ºó£¬¾¡¹Ü¶ÔÏóÒѾ­ÍêÈ«»ØÊÕ£¬µ«ÊÇÎïÀíÄÚ´æÊͷŲ»¹»³ä·Ö£¬ÓÐй©µÄÏÖÏó¡£Í¨¹ýpmapÀ´dump rub ......

Ò»²½Ò»²½Ñ§Ruby(Ê®¶þ):RubyÀà

Ò»¡¢ÀàµÄ¶¨Òå¡¢ÀàµÄʵÀý·½·¨ ¶þ¡¢Ìض¨¶ÔÏóµÄ·½·¨ ÔÚRubyÀÎÒÃÇ¿ÉÒÔΪһ¸ö¶ÔÏóµ¥¶À¶¨Òå·½·¨ Èý¡¢Öض¨Òå·½·¨ ´ÓÏÂÃæ´úÂë¿ÉÒÔ¿´³ö£¬ºóÃæµÄ¶¨Òå»á¸²¸ÇÇ°ÃæµÄ¶¨Òå ËÄ¡¢ÖØÐ´ò¿ªÀà RubyÀïÎÒÃÇ¿ÉÒÔÔÙ´ò¿ªÒ»¸öÀ࣬ÏòÕâÀàÌí¼Ó·½·¨£¬ÓеãÏñC#ÀïµÄ·Ö²¿À࣬µ«²»ÓüÓÌØ±ð±ê¼Ç. ÎÒÃÇÒ»°ã²»Òª²ð¿ªÀàµÄ¶¨Ò壬ÒòΪÄÇÑù²»ºÃÀí½ ......

Çå³þVSSÎļþµÄÅú´¦Àí(Ruby°æ)

 
def delVss(path)
  if File.directory?(path)
    for f in d = Dir.open(path)
        fpath = File.join(path, f) 
      if(f!="."&&f!="..")      
    ......

rubyÎļþ²Ù×÷

1¡¢ÎļþµÄ´ò¿ªÓë¹Ø±Õ
    ``r'' Read-only, starts at beginning of file (default mode).
    ``r+'' Read-write, starts at beginning of file.
    ``w'' Write-only, truncates existing file to zero length or creates a new file for writing. ......

ruby FileÔõôÔÚÔ´ÎļþµÄ»ù´¡ÉÏÌí¼ÓÄÚÈÝ£¬¶ø²»ÊÇÖØÐ´

ÓÐЩͬѧÌáÎÊ£ºÎÒдÊý¾Ýµ½ÎļþÖлá°ÑÀϵÄÊý¾ÝÌæ»»µô¡£
ÔõôÔÚÔ´ÎļþµÄ»ù´¡ÉÏÌí¼ÓÄÚÈÝ£¬¶ø²»ÊÇÖØÐ´
¡¾ruby code¡¿
  def txt_write(value,memo)
      File.open("c:\\my_text.txt", 'a') do |f|  
        ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ