Ruby中n.times { }循环为何仅输出n次而非返回n值?

更新于
2026-10-09 18:43:49
1阅读来源:SEO基础
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计305个文字,预计阅读时间需要2分钟。

Ruby中n.times { }循环为何仅输出n次而非返回n值?

从问题描述中可以看出,你遇到了一个Rails控制台命令返回值的问题。下面是对你问题的简化

我使用`@n.times do 'hello' end`命令,预期它会返回一些等于`@n`值的`'hello'`字符串。但不管怎么修改代码,Rails控制台只返回`@n`的值,而不是预期的字符串列表。我究竟做错了什么?

Ruby中n.times { }循环为何仅输出n次而非返回n值?

从 this question的答案判断,我预计

@n.times do "hello" end

返回一些等于@n值的“hello”.但是,无论我如何修改代码,我的rails控制台只返回@n的值,仅此而已.我究竟做错了什么?

例如,如果我首先设置@n = 10,那么代码的结果将只是10.

不,我不明白你是如何从那些答案中推断出.times块应该返回任何东西.它的作用是运行指定的块指定的次数,仅此而已.块的返回值被丢弃.如果您想要打印“hello”到标准输出N次或做一些其他工作,将会这样做.

n.times do puts 'hello' end

如果您希望数组中有“hello”字符串的N个副本,那么还有其他方法可以实现此目的.例如:

Array.new(n, 'hello') n.times.map { 'hello' } # and many others

本文共计305个文字,预计阅读时间需要2分钟。

Ruby中n.times { }循环为何仅输出n次而非返回n值?

从问题描述中可以看出,你遇到了一个Rails控制台命令返回值的问题。下面是对你问题的简化

我使用`@n.times do 'hello' end`命令,预期它会返回一些等于`@n`值的`'hello'`字符串。但不管怎么修改代码,Rails控制台只返回`@n`的值,而不是预期的字符串列表。我究竟做错了什么?

Ruby中n.times { }循环为何仅输出n次而非返回n值?

从 this question的答案判断,我预计

@n.times do "hello" end

返回一些等于@n值的“hello”.但是,无论我如何修改代码,我的rails控制台只返回@n的值,仅此而已.我究竟做错了什么?

例如,如果我首先设置@n = 10,那么代码的结果将只是10.

不,我不明白你是如何从那些答案中推断出.times块应该返回任何东西.它的作用是运行指定的块指定的次数,仅此而已.块的返回值被丢弃.如果您想要打印“hello”到标准输出N次或做一些其他工作,将会这样做.

n.times do puts 'hello' end

如果您希望数组中有“hello”字符串的N个副本,那么还有其他方法可以实现此目的.例如:

Array.new(n, 'hello') n.times.map { 'hello' } # and many others