在Ruby中将Array类型的返回值转换为Integer

时间:2015-03-08 14:12:29

标签: ruby regex

如何转换其值为数组的返回值? .to_i似乎不适用于我的情况(在课堂内):

class Scenario
    def initialize
        @text = "Next year I'll be 10, but I'm still 9"
    end

    def xx
        @text.scan(/^[^\d]*(\d+)/) do |x|
            return x.map(&:to_i)
        end
    end

    def yy
        @text.scan(/\d+\Z/) do |y|
            return y.to_i # This gives me an integer
        end
    end
end

s = Scenario.new
a1 = s.xx # Is an Array
a2 = s.yy # Is a Fixnum

我只需要对数字执行数学方法:从sting中剥离数字并应用数学方法。

我想要的结果是:

a1 - a2 = 9

1 个答案:

答案 0 :(得分:1)

你不能“将数组转换为整数”,这没有任何意义。

您要做的是将数组中的第一个元素转换为整数。

使用x.first.to_i