我正在使用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文件中使用上面的代码进行测试。
答案 0 :(得分:7)
试试这个方法:
"Long string"*1000
答案 1 :(得分:0)
您正在做的事情并不起作用,因为您在整数1000上调用times
方法。它会占用一个块并最终返回值1000
最简单的解决方案是在字符串上调用乘法方法/运算符。
所以像@gmile建议这样做:
"Foo bar " * 10000
但如果您真的想使用10000.times{ }
,可以这样做:
long_string = ''
10000.times{ |s| s << 'Foo bar ' }
puts long_string # "Foo bar Foo bar Foo bar ..."