Ruby 101£º¶¯Ì¬±à³Ì
Ruby 101£º¶¯Ì¬±à³Ì
Written by Allen Lee
µ±method_missingµÄħ·¨Ê§Ð§Ê±……
ÔÚÉÏһƪÎÄÕÂÀÎÒÃÇͨ¹ýÖØÐ´HashÀàµÄmethod_missing·½·¨°ÑHash¶ÔÏóÄ£Äâ³ÉÄäÃû¶ÔÏ󣬵«ÊÇ£¬ÕâÖÖ×ö·¨ÓÐʱ»á²úÉúһЩĪÃûÆäÃîµÄÎÊÌ⣬¾Ù¸öÀý×Ó°É£¬¼ÙÈçÎÒ°Ñprocess·½·¨£¨ÍêÕûʵÏֲμûÉÏһƪÎÄÕµĴúÂë31£©µÄoptions²ÎÊý´ÓÕâÑù£º
´úÂë 1
¸Ä³ÉÕâÑù£º
´úÂë 2
ÎÒÃǽ«»á·¢ÏÖ£¬²»ÂÛoptions²ÎÊýµÄcountȡʲôֵ£¬ÎÒÃÇ×ÜÊǵõ½Á½±¾Ê飬Ϊʲô£¿ÏëÏë¿´£¬method_missing·½·¨µÄ´¥·¢Ìõ¼þÊÇʲô£¿½öµ±ÎÒÃǵ÷Óõķ½·¨²»´æÔÚʱ£¬method_missing·½·¨²ÅÓлú»á³ö³¡£¬µ«ÊÇ£¬HashÀà±¾Éí¾ÍÓÐcount·½·¨£º
ͼ 1
Õâ´òÆÆÁËmethod_missing·½·¨µÄ´¥·¢Ìõ¼þ£¬»»¾ä»°Ëµ£¬method_missing·½·¨±»count·½·¨"½Øºú"£¨Â齫ÊõÓÁË¡£HashÀàµÄcount·½·¨·µ»Ø¼ü/Öµ¶ÔµÄ¸öÊý£¬¶øoptions²ÎÊýĬÈϾÍÓÐÁ½¸ö¼ü/Öµ¶Ô£¬Èç¹ûÎÒÃÇûÓÐÌí¼Ó¶îÍâµÄ¼ü/Öµ¶Ô£¬count·½·¨µÄ·µ»ØÖµ½«»á×ÜÊÇ2£¬Õâ¾ÍÊÇΪʲôÐÞ¸Äoptions²ÎÊýÖ®ºóÎÒÃÇ×ÜÊǵõ½Á½±¾Êé¡£ÄÇô£¬ÈçºÎ½â¾öÕâ¸öÎÊÌ⣿
ÏÔÈ»£¬method_missing·½·¨ºÍcount·½·¨ÎÞ·¨Í¬Ê±´æÔÚ£¬·ñÔòת·¢ÏûÏ¢µÄÂß¼×ÜÊDZ»ºöÂԵ쬵«ÎÒÃDz»ÄÜÒÆ³ýcount·½·¨£¬ÒòΪÕâÑù»áµ¼ÖÂÒÀÀµËüµÄ´úÂë²»ÄÜÕý³£¹¤×÷£¬ÔÚÕâÖÖÇé¿öÏ£¬ÎÒÃÇÖ»ºÃ°Ñת·¢ÏûÏ¢µÄÂß¼ÒÆÖÁ±ð´¦ÁË£¬ÄÇô£¬·ÅÄÄÄØ£¿»¹¼ÇµÃ¡¶Ruby 101£º¶ÔÏóºÍ·½·¨¡·×îºóÄǸöBookStoreÀàÂð£¿ÎÒÃÇ¿ÉÒÔ·ÂЧËüµÄ×ö·¨£¬ÎªHashÀà´´½¨Ò»¸ö´úÀíÀ࣬Ȼºó°Ñת·¢ÏûÏ¢µÄÂß¼·Åµ½´úÀíÀàµÄmethod_missing·½·¨À
´úÂë 3
ÕâÑù¾Í²»ÅÂcount·½·¨µÄ¸ÉÈÅÁË£º
ͼ 2
µ±È»£¬Èç¹ûÄãÏëÒªµÄÖ»ÊÇÕâЩ£¬ÄǾÍûÓбØÒªÁíÆð¯ÔîÁË£¬ÒòΪʹÓÃRuby×Ô´øµÄOpenStructÀàÒ²¿ÉÒÔ´ïµ½ÏàͬµÄЧ¹û£º
ͼ 3
µ«ÊÇ£¬OpenStructÀ಻֧³ÖǶÌ×µÄHash¶ÔÏó£¬ÄãÖ»ÄÜͨ¹ýperson1.address[:city]À´·ÃÎÊÏÂÃæÕâ¸ö¶ÔÏóµÄ³ÇÊÐÐÅÏ¢£º
´úÂë 4
Èç¹ûÄãÏ£Íûͨ¹ýperson1.address.cityÀ´·ÃÎÊÕâ¸ö¶ÔÏóµÄ³ÇÊÐÐÅÏ¢£¬ÒªÃ´ÏÔʽµØ°ÑÄÚǶµÄHash¶ÔÏó´´½¨ÎªOpenStruct¶ÔÏó£º
´úÂë 5
ҪôÀ©Õ¹AnonymousObjectÀ࣬ʹËüÖ§³ÖǶÌ×µÄHash¶ÔÏó£¬Èç¹ûÄãÓÐÐËȤµÄ»°£¬²»·Á°ÑÎÕÕâ¸ö»ú»áÁ·Ï°Ò»Ï°ɣ¡
ÏûÏ¢´úÀí
¼ÈÈ»ÎÒÃÇ¿ÉÒÔͨ¹ý´úÀíÀà½Ø»ñ²¢×ª·¢ÏûÏ¢£¬ºÎ²»ÔÚ´Ë»ù´¡ÉϼӵãÏëÏóÁ¦£¿¼ÙÉèÎÒÓÐÕâÑùÒ»¸öÀࣺ
´úÂë 6
ÎÒÏëÔÚµ÷ÓÃmethod1·½·¨Ö®Ç°×öһЩÊÂÇ飬ÔÚµ÷ÓÃmethod2·
Ïà¹ØÎĵµ£º
def delVss(path)
if File.directory?(path)
for f in d = Dir.open(path)
fpath = File.join(path, f)
if(f!="."&&f!="..")
......
ÓÐЩͬѧÌáÎÊ£ºÎÒдÊý¾Ýµ½ÎļþÖлá°ÑÀϵÄÊý¾ÝÌæ»»µô¡£
ÔõôÔÚÔ´ÎļþµÄ»ù´¡ÉÏÌí¼ÓÄÚÈÝ£¬¶ø²»ÊÇÖØÐ´
¡¾ruby code¡¿
def txt_write(value,memo)
File.open("c:\\my_text.txt", 'a') do |f|
......
<!--
/* Font Definitions */
@font-face
{font-family:ËÎÌå;
panose-1:2 1 6 0 3 1 1 1 1 1;
mso-font-alt:SimSun;
mso-font-charset:134;
mso-generic-font-family:auto;
mso-font-pitch:variable;
mso-font-signature:3 680460288 22 0 262145 0;}
@font-face
{font-family:"Cambria Mat ......
¶©µ¥´¦Öã¬Ê×ÏÈÒªÓÐÒ»¸ö¶©µ¥µÄÏêϸÁÐ±í£¨°üÀ¨ÊýÁ¿£¬¼ÛǮɶµÄ£©ºÍÒ»¸ö¶ÔÓÚ¸öÈ˵ÄһЩÐÅÏ¢µÄÒ»¸ö±í¡£Òò¶øÎÒÃÇ´´ÔìÁ½¸öÄ£ÐÍ£¬line_item(ÁбíÏî),order(Áбí)£¬Æäºó±àÕßÈç´Î
/db/migrate xxx_create_order xxx_line_item
Ruby´úÂë
Ò».class CreateOrders < ActiveRecord::Migration
¶þ.def self.up
3. create_tabl ......