加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby – 用索引无限次地做一些事情

发布时间:2020-12-16 21:55:47 所属栏目:百科 来源:网络整理
导读:在 more ruby way of doing project euler #2年,部分代码是 while((v = fib(i)) 4_000_000) s+=v if v%2==0 i+=1end 有没有办法将i = 1更改为更有功能的编程风格构造? 我能想到的最好的是 Float::MAX.to_i.times do |i| v = fib(i) break unless v 4_000_00
在 more ruby way of doing project euler #2年,部分代码是
while((v = fib(i)) < 4_000_000)
  s+=v if v%2==0
  i+=1
end

有没有办法将i = 1更改为更有功能的编程风格构造?

我能想到的最好的是

Float::MAX.to_i.times do |i|
  v = fib(i)
  break unless v < 4_000_000
  s += v if v%2==0
end

因为你不能在浮点数上调用.times.

解决方法

Numeric.step具有无限远(极限)和1(步长)的默认参数.
1.step do |i|
  #...
end

为了好玩,你甚至可以试试

1.step.size

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读