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

ruby – “n.times do”block只返回n的值

发布时间:2020-12-17 01:35:51 所属栏目:百科 来源:网络整理
导读:从 this question的答案判断,我预计 @n.times do "hello"end 返回一些等于@n值的“hello”.但是,无论我如何修改代码,我的rails控制台只返回@n的值,仅此而已.我究竟做错了什么? 例如,如果我首先设置@n = 10,那么代码的结果将只是10. 解决方法 不,我不明白你
从 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

(编辑:李大同)

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

    推荐文章
      热点阅读