ruby的迭代

简介: ruby中整数支持times,upto,downto,step等几种迭代 irb(main):010:0> 3.times {print "X " }X X X => 3irb(main):011:0> 1.

 

ruby中整数支持times,upto,downto,step等几种迭代

irb(main):010:0> 3.times {print "X " }
X X X => 3
irb(main):011:0> 1.upto(5)  {|i| print i," "}
1 2 3 4 5 => 1
irb(main):012:0> 99.downto(95) {|i| print i," "}
99 98 97 96 95 => 99
irb(main):013:0> 50.step(80,5) {|i| print i," "}
50 55 60 65 70 75 80 => 50
irb(main):014:0>

 

irb(main):019:0> 6.times do
irb(main):020:1*   puts "#{num.class}: #{num}"
irb(main):021:1>   num *=num
irb(main):022:1> end
Fixnum: 81
Fixnum: 6561
Fixnum: 43046721
Bignum: 1853020188851841
Bignum: 3433683820292512484657849089281
Bignum: 11790184577738583171520872861412518665678211592275841109096961
=> 6
irb(main):023:0>

 

irb(main):006:0> three_times { puts "Hello"}
Hello
Hello
Hello
=> nil
irb(main):007:0> [1,3,5,7,9].find {|v| v*v>30}
=> 7
irb(main):008:0> [1,3,5,7,9].each {|i| puts i}
1
3
5
7
9
=> [1, 3, 5, 7, 9]
irb(main):009:0> [1,3,5,7,9].injuect {|sum,element| sum+element}
NoMethodError: undefined method `injuect' for [1, 3, 5, 7, 9]:Array
    from (irb):9
    from :0
irb(main):010:0> [1,3,5,7,9].inject {|sum,element| sum+element}
=> 25
irb(main):011:0> [1,3,5,7,9].inject {|sum,element| sum*element}
=> 945
irb(main):012:0>



相关文章
|
4月前
|
测试技术 开发者 Ruby
Ruby枚举与迭代的奥秘:如何让你的集合飞起来?
【8月更文挑战第31天】在 Ruby 中,枚举(Enumerable)模块为数组、哈希等集合提供了丰富的迭代与操作方法,如 `each`、`map` 和 `select` 等,使集合处理更为高效和简洁。通过合理运用这些方法,可以显著提升代码的可读性和性能。例如,可以轻松筛选出数组中的偶数或计算所有偶数的总和。然而,过度依赖枚举方法也可能影响效率,因此应根据实际情况选择合适的方法,并通过编写测试确保代码质量。随着 Ruby 的发展,枚举与迭代的重要性将愈发凸显。
41 0
|
7月前
|
Ruby
|
7月前
|
Ruby
|
7月前
|
JSON 数据格式 Ruby
|
7月前
|
调度 Ruby
|
7月前
|
Ruby
|
7月前
|
存储 JSON 数据格式
|
7月前
|
Ruby
|
7月前
|
人工智能 BI 计算机视觉
|
7月前
|
JSON Ubuntu Linux