如何将数组转换为整数?

时间:2012-08-30 15:01:07

标签: ruby

我正在开发一个过程,该过程从一些可以在选择列表中找到的元素中检索数字。例如,从“test element(100)”我试图获得数字“100”。 我使用此代码来执行此操作,它捕获两个括号之间的数字:

            before = Regexp.escape '('
            after = Regexp.escape ')'
            x = "test element (100)"[-5, 5].scan(/#{before}(.*?)#{after}/).flatten

此代码有效,X的值为100.但这个“100”实际上是一个数组。

是否有人知道如何将数组“100”转换为整数“100”?

谢谢。

3 个答案:

答案 0 :(得分:1)

为什么不呢?

x = "test element (100)"[/(?<=\()\d+(?=\))/].to_i # 100

示例:

1.9.3-p194 :001 > "test element (100)"[/(?<=\()\d+(?=\))/].to_i
 => 100
1.9.3-p194 :002 > "test (250) other stuff"[/(?<=\()\d+(?=\))/].to_i
 => 250 

答案 1 :(得分:1)

你为什么不用:

"test element (100)"[/\d+/]

返回:

"100"

如果需要整数值,请使用:

"test element (100)"[/\d+/].to_i

答案 2 :(得分:0)

x.first

应该给你。