ÏÂÃæÊÇÊä³öÒ»¸öСÓÚ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£¨rpgÀµ÷ÓÃÕâ¸ö¿â£¬ÏÖÔÚÎÊÌâ³öÀ´ÁË£¬±¨´í£¬ËµµÄÊÇGetProcAddress : nSrv or nSrvA ºÃÏñÊDz»ÄÜÕÒµ½Õâ¸öº¯Êý°É£¬ nSrv ÊÇÎÒ¿âÎļþÀïµÄÒ»¸öº¯ÊýµÄÃû× ......