0

我正在使用 Ruby on Rails 3.2.2,我想以最简单的方式构建一个长字符串。我想使用该times方法,但使用以下代码它不会返回我正在寻找的:

10000.times{ "Foo bar" }
# => 10000

我希望它返回"Foo bar Foo bar Foo bar Foo bar Foo bar Foo bar Foo bar Foo bar Foo bar Foo bar ..."

我怎样才能做到这一点?

注意:我想在我的 rspec 文件中使用上面的代码进行测试。

4

2 回答 2

7

试试这个方法:

"Long string"*1000
于 2012-05-11T14:36:35.653 回答
0

您正在做的事情不起作用,因为您正在times整数 1000 上调用该方法。它占用了一个块并最终返回值 1000。

最简单的解决方案是在字符串上调用乘法方法/运算符。

所以就像@gmile 建议的那样:

"Foo bar " * 10000

但是如果你真的想使用10000.times{ }你可以这样做:

long_string = ''
10000.times{ |s| s << 'Foo bar ' }
puts long_string   # "Foo bar Foo bar Foo bar ..."
于 2012-05-11T16:13:39.347 回答