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·
Ïà¹ØÎĵµ£º
ÓÃrubyн¨Ò»¸öexcelÎļþ£¬²¢ÇÒÉèÖÃһЩֵ¡£
require 'win32ole'
excel = WIN32OLE.new("excel.application")
excel.Visible = true
excel.WorkBooks.Open("d:\\test.xls")
excel.WorkSheets("sheet1").Activate
excel.Cells(2,3).value = "ÕÅÈý"
exce ......
Ëɱ¾ÐкêÈçÔ¼ÓÚÊ¥µ®½Ú·¢²¼ÁËRuby 1.9¡£¸ù¾ÝRubyµÄ¹ßÀý£¬Ð¡ÊýµãºóÃæµÚһλÈç¹ûÊǵ¥Êý£¬ÄÇô¾Í±íÃ÷ÕâÊÇÒ»¸öʵÑé°æ±¾£¬²»ÍƼöÓÃÓÚ²úÆ·»·¾³¡£Ëùν“²úÆ·»·¾³”£¬¶ÔÓÚĿǰµÄRubyÀ´Ëµ£¬»ù±¾ÉϾÍÊÇRuby on Rails¡£´ÓĿǰRoRÉçȺµÄ·´Ó³À´¿´£¬È·ÊµÓÐÈËÕýÔÚ³¢ÊÔÓÃRuby 1.9ÅäºÏRoR£¬µ«ÊÇÉÐÊôÍæÆ±ÐÔÖÊ¡£ÎÒѯÎÊÁËһЩ´¦ÔÚÕæÊµÏ ......
Ruby 101£º·½·¨¶ÔÏó
Written by Allen Lee
´Ó·½·¨µ÷ÓÃ˵Æð
ÔÚÉÏһƪÎÄÕÂÀÎÒÃÇ¿´µ½µ÷ÓöÔÏóµÄ·½·¨ÊµÖÊÉÏÊÇÏò¶ÔÏó·¢ËÍÏûÏ¢£¬ÏÂÃæ£¬ÎÒÃÇÔÙÀ´¿´Ò»¸öÓÐȤµÄÓ¦Óá£ÔÚRubyÀ×Öµä¿ÉÒÔͨ¹ý {key => value} À´´´½¨£¬Èç¹ûÄãʹÓõİ汾ÊÇ1.9»òÒÔÉÏ£¬µ±keyµÄÀàÐÍÊÇSymbolʱ£¬´´½¨×ÖµäµÄÓ ......
¹ý³ÌÈçÏ£º
1¡¢rubyÏÂÔØÒ»¼ü°²×°£º
http://rubyforge.org/frs/download.php/29263/ruby186-26.exe
ruby -v ÏÔʾ°æ±¾£¬°²×°³É¹¦
2¡¢ÏÂÔØrubygems°²×°£º
http://rubyforge.org/frs/download.php/60719/rubygems-1.3.5.zip
½âѹ£¬ruby setup.rb
gem -v ÏÔʾ°æ±¾£¬°²×°³É¹¦
3¡¢ÏÂÔØrailsµÄ gem °²×°£¨gem install ......
#include < ruby.h > //
static int id_sum;
int Values[] = {5, 10 ,15,-1,20,0};
static VALUE wrap_sum(VALUE args)
{
VALUE * values = (VALUE *) args;
VALUE summer = values[0];
VALUE max = values[1];
return rb_funcall(summer,id_sum,1,max);
}
static VALUE ......