1 n -= 1 puts "#{n}" -6ren">
gpt4 book ai didi

Ruby 如何反转显示顺序

转载 作者:太空宇宙 更新时间:2023-11-03 16:17:00 27 4
gpt4 key购买 nike

我有以下代码:

def number_loop(n)
puts "#{n}"
while n != 1
if n >1
n -= 1
puts "#{n}"
else
n += 1
puts "#{n}"
end
end
end

number_loop(5)

当我运行代码时,它显示如下:

5

4

3

2

1

如何更改代码使其显示为:

1

2

3

4

5

最佳答案

  • while 循环很少见,在 Ruby 中几乎从未见过。
  • 处理数字时,使用 uptodownto 方法或范围。
  • 在处理对象时使用eachreverse_each

使用Integer方法

1.upto(5).each { |n| puts n } # => 1, 2, 3, 4, 5
5.downto(1).each { |n| puts n } # => 5, 4, 3, 2, 1

1.step(5, 2).each { |n| puts n } # => 1, 3, 5
5.step(1, -2).each { |n| puts n } # => 5, 3, 1

5.times { |n| puts n } # => 0, 1, 2, 3, 4

使用范围

(1..5).each { |n| puts n } # => 1, 2, 3, 4, 5

如果您使用对象,请使用

arr = ["a", "b", "c", "d", "e"]

arr.each { |str| puts str } # => a, b, c, d, e
arr.reverse_each { |str| puts str } # => e, d, c, b, a

如果要将结果收集到数组中,请使用 map

squares = (1..5).map { |n| n * n }
# => [1, 4, 9, 16, 25]

更多浏览方法

  • Integer
  • 可枚举模块

最好安装 pry 以使用 Pry 的 lsri 命令以交互方式探索这些内容。

关于Ruby 如何反转显示顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41560532/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com