ruby - 简化字符串乘法串联

Dr.*_*ein 9 ruby string-concatenation

s是一个字符串,这看起来很啰嗦 - 我怎么能简化这个呢?:

   if x === 2
      z = s
    elsif x === 3
      z = s+s
    elsif x === 4
      z = s+s+s
    elsif x === 5
      z = s+s+s+s
    elsif x === 6
      z = s+s+s+s+s
Run Code Online (Sandbox Code Playgroud)

谢谢

pol*_*nts 21

像这样的东西是最简单和最有效的(如ideone.com上所见):

puts 'Hello' * 3   # HelloHelloHello

s = 'Go'
x = 4
z = s * (x - 1)
puts z             # GoGoGo
Run Code Online (Sandbox Code Playgroud)

API链接

ruby-doc.org -String:str * integer => new_str

复制 - 返回String包含接收器的新整数副本.

"Ho! " * 3   #=> "Ho! Ho! Ho! "
Run Code Online (Sandbox Code Playgroud)