【发布时间】:2014-06-05 19:09:20
【问题描述】:
我正在解决这个 ruby kata。本质上,代码所做的是输出一个五位数的整数。 示例:
5 = 00005
12 = 00012
12345 = 12345
00001234 = 012345
这是我的代码:
def solution(value) #00001204
string_value = value.to_s
if string_value.length <= 5
amount_of_zeros = "0" * (string_value.length - 5).abs
puts "Value is #{amount_of_zeros}" + "#{string_value}"
else
start_of_characters = 5 - string_value.length #-3
puts "Value is " + string_value[-1..start_of_characters]
end
end
在我放置 00001204 之前一切正常。出于某种原因,我得到了输出00644。我尝试使用binding.pry 来查看发生了什么,我的号码从一开始就被转换为644。为什么这样做?文档没有提到任何关于它的内容。我不知道如何解决这个问题,因为在我方法的第一行它已经变成了644。有什么想法吗?
【问题讨论】:
标签: ruby