我的控制器中有以下代码:

@raw_data = ["124324/12", "345346/15"]
@data_set = []
@raw_data.each do |data|
    holder = data.split("/")
    holder.first.to_i
    @data_set << holder
end

这将返回以下结果
[["124324", "12"], ["345346", "15"]]

为什么它没有将每个子数组中的第一个元素转换为整数。请解释一下

最佳答案

因为to_i返回转换后的值。它不会进行就地转换这意味着变量的值不会改变。

@raw_data = ["124324/12", "345346/15"]
@data_set = []
@raw_data.each do |data|
    holder = data.split("/")
    holder[0] = holder.first.to_i
    @data_set << holder
end

关于ruby-on-rails - 无法使用.to_i将数组中的第一个元素转换为整数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9555650/

10-12 05:15