Ruby 1.9²»»áɱËÀPython
Ëɱ¾ÐкêÈçÔ¼ÓÚÊ¥µ®½Ú·¢²¼ÁËRuby 1.9¡£¸ù¾ÝRubyµÄ¹ßÀý£¬Ð¡ÊýµãºóÃæµÚһλÈç¹ûÊǵ¥Êý£¬ÄÇô¾Í±íÃ÷ÕâÊÇÒ»¸öʵÑé°æ±¾£¬²»ÍƼöÓÃÓÚ²úÆ·»·¾³¡£Ëùν“²úÆ·»·¾³”£¬¶ÔÓÚĿǰµÄRubyÀ´Ëµ£¬»ù±¾ÉϾÍÊÇRuby on Rails¡£´ÓĿǰRoRÉçȺµÄ·´Ó³À´¿´£¬È·ÊµÓÐÈËÕýÔÚ³¢ÊÔÓÃRuby 1.9ÅäºÏRoR£¬µ«ÊÇÉÐÊôÍæÆ±ÐÔÖÊ¡£ÎÒѯÎÊÁËһЩ´¦ÔÚÕæÊµÏîÄ¿ÖеÄRoRÍŶӣ¬Ä¿Ç°»¹Ã»ÓÐÈË´òËãÔÚ×Ô¼ºµÄÏîÄ¿ÖÐʹÓÃRuby 1.9¡£
ÔÚRubyÉçȺÀïµÄ°ëÏɼ¶ÈËÎïMauricio FernandezÔÚÕâÀï×ܽáÁËRuby 1.9µÄÖ÷ÒªÐÂÌØÐÔ£¬ÑóÑóÈ÷È÷µÄÒ»´óƪ£¬³ä³â׿¦Ã«ËâÆ¤µÄÓï·¨ÌÇÒ£¬ÎÒ¿´Á˰ëÌ죬ã¶ÊÇû¿´µ½¼¸¸öÌØÓÐÒâÒåµÄ¶«Î÷¡£ÆäʵRuby 1.9µÄ×îÖØ´ó±ä»¯ÔÚÄÚ²»ÔÚÍ⣬еÄÐéÄâ»úYarv°ÑRubyµÄÐÔÄÜ´ó´óÌá¸ßÁË¡£ÔÚCSDNÉϵÄÒ»Æª×ªÔØ±¨µÀÖÐÌáµ½£¬ÔÚÒ»¸öFibonacciÐòÁÐµÄÆÀ²â¶Ô±ÈÖУ¬Ruby 1.9µÄÐÔÄܽÏÖ®Python 2.5.1»¹Òª¿ì³öÁ½±¶¡£µ±È»£¬½öƾ½èÒ»¸ö²âÊԾͶ϶¨Ruby 1.9µÄÐÔÄÜ¿ìÓÚPythonÊÇÓ×Öɵ쬵«ÊÇÏÖÔÚ¿ÉÒԿ϶¨µØËµ£¬RubyÄÔ´üÉÏÄǶ¥“ËÙ¶È×îÂýµÄ¶¯Ì¬ÓïÑÔ”µÄ´óñ×ӿ϶¨ÒªÕªµôÁË¡£
ÓÐÈËÈÏΪ£¬ÕâÏÂ×Ó²»µÃÁËÁË£¬RubyÒª³Æ°Ô¶¯Ì¬ÓïÑÔÁË¡£ÄãÏëÏ룬RubyÒѾ¼¸ºõÓµÓÐÁËËùÓÐÃλðãµÄÓïÑÔÌØÐÔ£¬ÉñÆæµÄ¶¯Ì¬ÄÜÁ¦£¬Ç¿´óµÄÖ§³Ö¿â£¬ÄÚÖõĸúPerl¿ÉÒԱȼçµÄÕýÔò±í´ïʽ£¬Smalltalk¼¶±ðµÄ´¿¶øÓÖ´¿µÄÃæÏò¶ÔÏóÌØÕ÷£¬¼ò½àÃ÷¿ìµÄ·ç¸ñ£¬¿çÓïÑÔÕûºÏÒ²·Ç³£ÈÝÒ×£¬Î¨Ò»µÄȱµã¾ÍÊÇËÙ¶ÈÂý¡£ÏÖÔÚÁ¬Õâ¸öȱµã¶¼±»ÃÖ²¹ÁË£¬Ruby»¹Äܵ²µÃסÂð£¿ÆäËûµÄ¶¯Ì¬ÓïÑÔ¶¼¸ÃЪ²ËÁË¡£
ËäÈ»ÎÒÒ²ËãÊÇÒ»¸öRubyÓïÑÔµÄÓµ»¤Õߣ¬µ«ÊÇÎÒ²¢²»ÕâôÈÏΪ¡£ÌرðÊÇ£¬ÎÒ²»ÈÏΪRuby 1.9Äܹ»¶ÔPythonÔì³Éʵ¼ÊµÄÍþв£¬¸ü̸²»ÉÏ“¸Ï¾¡É±¾ø”¡£ÔÒòºÜ¼òµ¥£¬RubyÊÇÒ»ÖÖħ»ÃÓïÑÔ£¬¶øPythonÊÇÒ»ÖÖ¼òÔ¼ÓïÑÔ£¬PythonµÄÖ§³ÖÕßÒ²´ó¶àÊýÊǼòÔ¼Ö÷ÒåµÄÖÒʵÐÅͽ¡£¶ÔÓÚËûÃÇÀ´Ëµ£¬Ò»ÖÖÓïÑÔÔ½ÊÇħ»Ã£¬¾ÍÔ½ÎÞ·¨»ñµÃËûÃǵÄÐÅÈΡ£
ʲôÊÇħ»ÃÓïÑÔÄØ£¿ÕâÊÇÎÒ¶Å׫³öÀ´µÄ˵·¨¡£¶Ô±à³ÌÓïÑÔ½øÐзÖÀàÓкܶ෽·¨£¬ÆäÖÐÈËÃdz£ÓõıÈÈç·Ç³£“¹ý³ÌʽÓïÑÔ”£¬“ÃæÏò¶ÔÏóÓïÑÔ”£¬“º¯ÊýʽÓïÑÔ”µÈ£¬ÕâÊǰ´ÕÕÔÚÕâÖÖÓïÑÔÖÐÔʼµÄ¿´´ý³ÌÐòµÄ·½Ê½À´»®·Ö¡£»¹ÓбÈÈ瓱àÒëÐÍÓïÑÔ”ºÍ“½âÊÍÐÍÓïÑÔ”£¬ÕâÊǰ´ÕÕÓïÑÔ·Òë·¢ÉúµÄʱ¼äÀ´»®·ÖµÄ£¬»¹ÓÐһЩ±ðµÄ·Ö·¨¡£²»¹ýÎÒÒ»Ö±¾õµÃ£¬¸ù¾ÝÓïÑÔ±
Ïà¹ØÎĵµ£º
ÉÏÉÏÖÜÔÚÊéµê¿´µ½Ò»±¾¡¶Ruby
Éè¼ÆÄ£Ê½¡·£¬¼ñÆðÀ´ 10 ·ÖÖÓ¿´Í꣬ÈÓÁË£¨±ðÎÊÎÒΪʲô……£©
ÏÂÃæÓÃ Ruby
ддÉè¼ÆÄ£Ê½£¬Ë³±ãÅúÒ»Åú Java ºÍ Gof
¡£
1.Factory
ºÍ Abstract Factory
class
Factory
attr_accessor :product
......
SleekEngine
Ëæ×żÆËã»úÓ²¼þµÄ¿ìËÙ·¢Õ¹£¬10ÄêǰÒòΪËÙ¶ÈÎÊÌâ¶ø±»Ú¸²¡µÄJavaÏÖÔÚ³ÉÁ˼ÆËã»úÁ÷ÑÔÓïÑÔÖеÄÀϴ󣬵«ÊÇËüÈ´ÈÔ±»ÈÏΪ¸´ÔÓ±¿ÖØ£¬½ü¼¸ÄêÀ´¶¯Ì¬Óï
ÑÔÈ´ÓкóÀ´¸ÏÉϵÄÇ÷ÊÆ£¬ÕÆÎÕÒ»ÃŶ¯Ì¬ÓïÑÔ³ÉÁ˳ÌÐòÔ±ÐèÒª¿¼ÂǵÄÊÂÒË¡£ ½üÆÚ½Ó´¥Á˼¸ÖÖÁ÷ÐеĶ¯Ì¬ÓïÑÔPython, Ruby,
Groovy£¬ËüÃÇÏà±È¾²Ì¬ÓïÑÔJava/C++À´Ëµ£¬´óÎ ......
±¾ÎĽéÉÜÁËRuby on RailsµÄÏêϸ°²×°²½Öè¡£ÎÄÖÐʹÓõÄRuby on Rails°æ±¾ÊÇ1.8.6-26¡£°²×°RubyÖ®ºó°²×°Rails£¬È»ºó¾Í¿ÉÒÔ´´½¨WebÓ¦Ó㬲¢ÔÚ±¾µØ²âÊÔÁË¡£
1¡¢°²×°ruby
²»ÓÃ˵ ÊÇÏÂÔØ°²×°°ü£ºhttp://rubyforge.org/frs/?group_id=167£¬×¢Òâ°æ±¾---º¦È˲»Ç³£¬ºóÃæ»á˵µ½£¬ÎÒϵÄÊÇ1.8.6-26
×°Íêºó£¬¿ÉÒÔÓÃruby -v ²âÊÔÊÇ·ñ° ......
#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 ......
While looking for information on the subject, I looked into the ONLamp article Extending Ruby with C by Garrett Rooney, the Extending Ruby chapter in the Pickaxe, README.EXT (located at /usr/share/doc/ruby1.8-dev/README.EXT.gz on my Ubuntu system) and got some help from Kjetil.
The resulting file c ......