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
复制 - 返回一个包含接收器 integer 个副本的新字符串。
"Ho! " * 3 #=> "Ho! Ho! Ho! "
z=''
(x-1).times do
z+=s
end
def rating_to_star(rating)
'star' * rating.to_i + 'empty_star' * (5 - rating.to_i)
end
伪代码(非Ruby语言)
if 1 < int(x) < 7 then
z = (x-1)*s
===
没有问题。但在这里使用===
确实相当不寻常,可能表明了对===
的理解存在误解。 - sepp2k