Rails 3 to_i方法支持

时间:2012-10-18 14:39:09

标签: ruby-on-rails-3 string methods integer type-conversion

我有一个字符串变量codigo = "0001",我想将其转换为整数并将其值增加1,我曾经使用codigo.to_i += 1执行此操作,但显然该方法已在Rails 3中弃用。现在Rails 3的方法是什么?

1 个答案:

答案 0 :(得分:4)

这里的基本问题是你的变量codigo是一个字符串。

codigo.to_i将返回一个整数,但它不会改变它所调用的变量的类型,因此它仍然是一个String,你刚刚调用了一个返回整数的方法。

codigo.to_i + 1将返回2.

codigo.to_1 += 1会产生错误,因为返回值不在任何变量中,因此无法递增。

因此,要将变量转换为整数并递增,请执行以下操作:

codigo = codigo.to_i
codigo += 1

如果更有意义,您也可以在一行中执行此操作:

codigo = codigo.to_i + 1