易截截图软件、单文件、免安装、纯绿色、仅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,有没有前途。

做了三年。NET了
当然。NET水平也很烂
想多学一些新的语言
这两天在学习RUBY
不知道将来有没有前途

RUBY前辈们,指点一二啊。
别这山看着那山高,其实它们只是你的一个工具,就象武林高手拿个树叶 ......

唐僧!ruby on rails!我欲哭无泪。

本人有点C#跟java底子,回头直接来学ROR。
怎么感觉ROR就那么恶心人,但又很想学好,迫于各方面压力也只能学习ROR。学了大概有两个月吧,可我总感觉自己门都没入……太多的伤心的话就不想多说了,只希望看到的高 ......

ruby操作文件

require 'app/configuration'
module RubyAMF
  module Configuration
    #set the service path used in all requests
    # RubyAMF::App::RequestStore.service_p ......

ruby中的or到底是什么意思?

Python code:
puts true or false
puts false or true
为什么上面的输出true,下面的输出false?难道只认or前面的?

据说or后面是直接省略的,不知道是不是这样。
楼上的答案好像不是我想要的

ruby社区怎 ......

初学ruby 怎么把一个类导入呢

1. 例如在
Person.rb 中 
Python code:

class Person
def talk
puts "nihao"
end

end
Student.rb
Python code:

class Student < Person
def talk
puts &quo ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号