我正在研究如何在ruby中获得一个领先的零,我发现了解决方案:使用%02d"现在,我想做一个循环,并保持零!当我做这样的事情
i = "%02d" % "1".to_i
until (i == 10)
puts i
i += 1
end
Run Code Online (Sandbox Code Playgroud)
我有一个错误"无法将FixNum转换为字符串".所以我决定这样做
i = "%02d" % "1".to_i
"01"
until (i == 10)
puts i
i = i.to_i
i += 1
end
Run Code Online (Sandbox Code Playgroud)
所以,这一次,循环工作,但只有第一个数字领先0.我没有想法,所以我很感激一点帮助!
我不是一个Ruby开发者,而且从根本上我认为你需要分离出的主意数量 i,以及文本表示与一家领先的0,所以东西,如:
for i in (1..10)
puts "%02d" % i
end
Run Code Online (Sandbox Code Playgroud)
(从其他答案中可以看出,有很多方法可以对循环本身进行编码.)
这里i总是一个数字,但表达式"%02d" % i格式化i为两位数字,仅用于显示目的.
在准备好实际输出之前,不要转换为字符串进行输出.通常,您不会增加字符串值.
0.upto(10) { |i| puts "%02d" % i }
Run Code Online (Sandbox Code Playgroud)