2009-12-04 122 views

回答

7

如果整个文件的内容是数字,我会使用File::read来获取文件的内容和String#to_i将结果字符串转换为整数。

所以:

number = File.read('filename.txt').to_i 
0

如果你的文件有一个字符串或字符的可变长度中有一些数字,那么你可以得到所有使用正则表达式的数字,并将其分配给您的变量如

file_contents = File.read('filename') # => "a string of character with 23 number and 123 in it" 
numbers = file_contents.scan(/\d+/) # => ['23', '123'] 

要转换上面一串数字数组整数

numbers.collect! &:to_i # => [23, 123] 

然后你就可以将这些号码的任何变量,你想

number1 = numbers.first 
number2 = numbers.last 
+0

我想你上面贴的代码,来在我的结尾有一些错误。 该行 numbers.collect! &:to_i 给出了错误的错误参数类型Symbol(预计Proc)(TypeError) – Kobojunkie 2009-12-04 22:58:08

+0

此符号to_proc在ruby 1.8.7中添加,因此您可能正在运行ruby 1.8.6。试试这个代码,然后 numbers.collect!{| num | num.to_i} – nas 2009-12-05 06:41:45

相关问题