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ËäÈ»ÊǶ¯Ì¬½Å±¾ÓïÑÔ£¬µ«ÊǺÍJavaÒ»Ñù£¬´øÓÐVM£¬ÓÐ×Ô¼ºµÄÄÚ´æ¶Ñ£¬´´½¨¶ÔÏóµÄʱºòÔÚ¶ÑÀïÃæ·ÖÅäÄڴ棬¶ÔÏóʹÓÃÍê±ÏÓÉGC½øÐлØÊÕ¡£µ«ÊÇͨ¹ýÎÒÃÇÔËÓªRailsÍøÕ¾Á½Äê¶àµÄʵ¼ùÀ´¿´£¬Ruby VMµÄGC»¹ÊÇ´æÔںܴóµÄÎÊÌâ¡£¼òµ¥µÄÀ´Ëµ£¬¾ÍÊÇGCÖ®ºó£¬¾¡¹Ü¶ÔÏóÒѾÍêÈ«»ØÊÕ£¬µ«ÊÇÎïÀíÄÚ´æÊͷŲ»¹»³ä·Ö£¬ÓÐй©µÄÏÖÏó¡£Í¨¹ýpmapÀ´dump rub ......
Ò»¡¢ÀàµÄ¶¨Òå¡¢ÀàµÄʵÀý·½·¨ ¶þ¡¢Ìض¨¶ÔÏóµÄ·½·¨ ÔÚRubyÀÎÒÃÇ¿ÉÒÔΪһ¸ö¶ÔÏóµ¥¶À¶¨Òå·½·¨ Èý¡¢Öض¨Òå·½·¨ ´ÓÏÂÃæ´úÂë¿ÉÒÔ¿´³ö£¬ºóÃæµÄ¶¨Òå»á¸²¸ÇÇ°ÃæµÄ¶¨Òå ËÄ¡¢ÖØÐ´ò¿ªÀà RubyÀïÎÒÃÇ¿ÉÒÔÔÙ´ò¿ªÒ»¸öÀ࣬ÏòÕâÀàÌí¼Ó·½·¨£¬ÓеãÏñC#ÀïµÄ·Ö²¿À࣬µ«²»ÓüÓÌØ±ð±ê¼Ç. ÎÒÃÇÒ»°ã²»Òª²ð¿ªÀàµÄ¶¨Ò壬ÒòΪÄÇÑù²»ºÃÀí½ ......
def delVss(path)
if File.directory?(path)
for f in d = Dir.open(path)
fpath = File.join(path, f)
if(f!="."&&f!="..")
......
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 code¡¿
def txt_write(value,memo)
File.open("c:\\my_text.txt", 'a') do |f|
......