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

ruby blockÎÊÌâ

ÏÂÃæÊÇÊä³öÒ»¸öСÓÚ100µÄFibnancciÊýÁУº
class test1
  def Fib(max)
    i1,i2 = 1,1
    while i1 <= max
      yield i1
      i1,i2=i2,i1+i2
    end
  end
end

Fib(100){|f| print f," "}

ÓÉÓÚÓе㿴²»¶®£¬ÏÖÔÚÎÒ¸ÄÒ»ÏÂ
class test2
  def test2.Fib
    i1,i2 = 1,1
    i1,
    i2=i2,  ££È¥µô¾Í±¨´í
    i1+i2
  end
end

ÎÒÏëÎʵÄÊÇ£º
1.ÔÚtest2ÀïÃæFibµÄ·µ»ØÖµÊÇÔõôËãµÄ£¿ÊDz»ÊÇ[i1,i1+i2]?Ϊʲôȥµôi2=i2»á¾Í±¨´í£¿
2.test1µÄwhileÑ­»·ÊÇÔõôִÐеģ¿ÎÒµÄÏë·¨ÊÇ
µÚÒ»´ÎÑ­»·,i1=1
yield 1
[1,2]
µÚ¶þ´ÎÑ­»·,i1=1
yield 1
[1,3]

µÚÈý´ÎÑ­»·,i1=1......²»¶Ô¾¢ÁË...
yield 1
[1,4]
..........


²Åѧruby£¬Ï°¹ßÁËc#ºÍjavaʽµÄÓï·¨£¬¾õµÃrubyÓï·¨ÕæËûÄïµÄ¹îÒì¡£¡£¡£

i1,i2=i2,i1+i2
ÀàËÆ£ºi1=i2;
    i2=i1+i2;

rubyµÄº¯Êý£¬Èç¹ûûÓÐÃ÷È··µ»ØÖµ£¬¾Í·µ»Ø×îºóÒ»¸ö±í´ïʽµÄÖµ£¬
test2ÀïÃæFibÀïÊÇ 
    i1,
    i2=i2,  ££È¥µô¾Í±¨´í
    i1+i2
ÎÒÕâ±ßÖ´ÐÐÆðÀ´ÊÇ12£¬¼´ÏÈ´òÓ¡i1£¬ºó´òÓ¡i2


test1µÄwhileÑ­»·
µÚÒ»´Î
yield 1
[1, 2]

µÚ¶þ´Î
yield 1


Ïà¹ØÎÊ´ð£º

£¨¼±£©ruby µ÷ÓÃvcдµÄ¿âÎļþÎÊÌâ

ÎÒ×Ô¼ºÐ´ÁËÒ»¸ö¿âÎļþ£¬¿âÎļþÄÚ²¿Ã»ÎÊÌâ¡£ÎÒÏÖÔÚÏëÓà ruby£¨rpgÀµ÷ÓÃÕâ¸ö¿â£¬ÏÖÔÚÎÊÌâ³öÀ´ÁË£¬±¨´í£¬ËµµÄÊÇGetProcAddress : nSrv or nSrvA  ºÃÏñÊDz»ÄÜÕÒµ½Õâ¸öº¯Êý°É£¬ nSrv ÊÇÎÒ¿âÎļþÀïµÄÒ»¸öº¯ÊýµÄÃû× ......

Çë½Ì Ruby ´úÂë ת»»³É java´úÂë

Ruby ´úÂëÈçÏ£º
class Array
  def uniq_by
seen = {}
select{ |x|
  v = yield(x)
  !seen[v] && (seen[v]=true)
}
  end
end

Çója ......

ruby ÒªÈçºÎ寫bnf

ÎÒÊÇÓÃnetbeans È¥寫bnf

a program will ONLY accept strings based on the following grammar:

            <compute> --> <value> = < ......

×Éѯһ¸öÒì³£³õ¼¶µÄÎÊÌ⣬¹ØÓÚrubyµÄI/O

¸Õ¿ªÊ¼¿´ruby
ÓõÄÊÇ1.8.7°æ±¾£¬±àÒëÆ÷SciTE£¬²Ù×÷ϵͳwin7
ÓÃgets·½·¨£¬°üÀ¨gets.chomp¶¼Ã»·¨ÊäÈ룬»áµ¯³öÒ»¸ö¿ØÖÆ̨½çÃ棬µ«µã»÷¼üÅÌûÓÐÈκη´Ó¦£¬Èç¹ûÔÚÊäÈëÃüÁî֮ǰÓÐÊä³ö£¬Ò²²»»áÏÔʾÔÚ¿ØÖÆ̨ÉÏ£¬¶øÊÇ¹Ø ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØͼ | ¸ÓICP±¸09004571ºÅ