我打印整数1-100。但是我想用字符串"fizz"
替换3的倍数的整数。
我目前的代码是
if num % 3 == 0
num.sub(/num/, "fizz");
end
它引发了"undefined method 'sub'"
。我尝试gsub
时也一样。我错过了什么吗?
答案 0 :(得分:1)
sub用于字符串,而不是整数。
试试这个:
if num % 3 == 0
"#{num}".sub(/#{num}/, "fizz");
end
答案 1 :(得分:0)
你应该只能puts "fizz"
。所以:
if num % 3 == 0
puts "fizz"
end
或更完整的例子:
(1..100).each do |num|
if num % 3 == 0
puts "Fizz"
end
end
sub
& gsub
仅适用于字符串,不适用于整数,因此您的错误。