在Ruby中构建长字符串(用于测试)的快速而优雅的方法是什么?

时间:2011-11-01 13:51:29

标签: ruby

我需要一个长度为str_len个字符的字符串进行测试。

有哪些方法比以下方式更优雅(也可能更快)构建它:

  long_str = ''
  (str_len + 1).times do
    long_str << 'a'
  end

如果算法也可以随机化字符串的内容(即使用任何字符),将会很有帮助。

2 个答案:

答案 0 :(得分:4)

在String类上使用*方法。

long_str = 'a' * 6
# => 'aaaaaa'

答案 1 :(得分:3)

这将产生一个四字母长的随机字符串,其中包含字符a到z。

charset=('a'..'z').to_a
srand(124931)
puts (0...4).map{ charset.to_a[rand(charset.size)] }.join 

在实际使用此代码之前,删除或替换srand(124931) srand()