易截截图软件、单文件、免安装、纯绿色、仅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的返回值是怎么算的?是不是[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 要如何寫bnf

我是用netbeans 去寫bnf

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

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

ruby系统命令问题

我在ruby on rails上执行系统命令,但是该系统命令都在我默认的路径上执行的,即/var/www/my。现在我用ruby语言编程,可创建了一个新目录aaa(system "mkdir aaa"即可),但是我不能进入aaa目录下进行操作 ......

请问有没有人学习Ruby语言?

请问有没有人学习Ruby语言?
这个问题有什么意义?



肯定有

。。。。。。。。。。。。。。呵呵
这个可以有

啪啪地,
。。。有还是没有?

引用
这个问题有什么意义?
散分的意义的有!

哈哈, ......

ruby和MinGW的一次融合 - C/C++ / C++ 语言

希望给大家提供一些新的思路.
我们在使用C编程时会遇到一个问题,比如头文件的一个函数包含在一个lib 中,但是
在实际连接中我们不知道它在哪个库中。也许可行的一种办法是直接上网查询某个
函数的依赖条件,这对 ......

同时安装PHP和RUBY的问题 - Web 开发 / Ruby/Rails

学习PHP有一段时间了 现在想同时学习RUBY ON RAILS 
由于之前学习PHP 已经装好了APACHE 和 MYSQL 现在想让APACHE服务器也可以运行RUBY。
应该怎么办?
请高手提示 谢谢


Rails应用部署专栏: http://ww ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号