我是学习 Ruby 的新手,我试图要求用户输入,将该数字平方,然后返回平方数字中的数字之和。我对何时使用 .to_s 和 .to_i 感到困惑,我也想在不使用快捷方式的情况下完成此操作。
这是我到目前为止所拥有的(不起作用):
def sqr_digit_sum(n)
square = (n ** 2).to_s
no_of_digits = square.size
sum = 0
i = 0
while i < no_of_digits
sum += square[i].to_i
i += 1
end
puts sum
end
我不明白为什么如果我为 81 的平方输入 9,square[0] 返回 56 而不是 8。有人可以解释一下吗?