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
谢谢
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
谢谢
像这样的东西是最简单且有效的(如在 ideone.com 上看到的):
puts 'Hello' * 3 # HelloHelloHello
s = 'Go'
x = 4
z = s * (x - 1)
puts z # GoGoGo
ruby-doc.org -
String
:str * integer => new_str
复制—返回一个新
String
的包含接收器的整数副本。"Ho! " * 3 #=> "Ho! Ho! Ho! "
z=''
(x-1).times do
z+=s
end
伪代码(不是 ruby)
if 1 < int(x) < 7 then
z = (x-1)*s
例如,对于高达 5 星的评分系统,您可以使用以下内容:
def rating_to_star(rating)
'star' * rating.to_i + 'empty_star' * (5 - rating.to_i)
end