我想要一個數字,並返回一個字符串與任何奇數週圍的破折號。此外,該字符串不應以短劃線開頭或結尾。爲什麼這個ruby代碼不能返回任何東西?
我已經寫了下面的,但它不返回任何東西:
def dasherize_number(num)
string = num.to_s
i = 0
while i<string.length
if (string[i].to_i % 2) != 0
string[i] = '-' + string[i] + '-'
end
i += 1
end
if string[0] == '-'
string.pop(1)
end
if (string.length - 1) == '-'
string.pop(1)
end
string
end
看來,如果我理解正確的話可以無限循環;控制檯顯示沒有輸出,並且不允許我做任何事情,除非我刷新。我已經查看了每個角色的代碼,但我無法確定它出錯的地方。
正如作者在他/她的問題中提到的,該方法已在控制檯中調用。 @ hac13在下面看到我的答案。問題似乎是在'while'循環中。 – Uzbekjon
@Uzbekjon OP說在控制檯中調用該方法的位置? – sawa
我不太確定一個方法的'調用'是什麼意思,但是如果它意味着運行它 - 我輸入了'dasherize_number(4567)'並且控制檯不允許我做其他事情 – hac13