我有一个.txt
这样的文件:
1039812323
2534563457
3457346731
2525146715
如何将其传递到数组中,然后按索引访问它的元素?
答案 0 :(得分:1)
如果你想要一个数组
File.readlines("a.txt")
请注意您将使用" \ n"在每个数字的末尾
["1039812323\n", "2534563457\n", "3457346731\n", "2525146715\n"]
然后你可以使用任何ruby的数组迭代器(每个,收集,检查,映射等)
答案 1 :(得分:0)
使用Horacio Branciforte的方法回答我的问题的其他部分(“......然后通过索引访问它的元素?”)与\n
警告相对应,这是一种快速方法,可以将\n
f
的{{1}}的第i个元素的f
关闭,其中File.redlines("a.txt")
是数组f[$i][0..10]
:
import math
def nearest_pow(n):
if n <= 1:
return n
best = n
for k in xrange(2, n):
p = math.pow(n, 1.0 / k)
for x in xrange(2):
best = min(best, abs((int(p) + x) ** k - n))
if int(p) == 1:
break
return best
print nearest_pow(70)
当然,只有当您知道数据中的所有元素无限期地进入固定长度时,这才有效。
答案 2 :(得分:0)
你可以这样做。
array = []
File.open("path_to_file").each_line do |line|
array.push(line.chomp) # if you need '\n' then ommit chomp
end
# to iterate through the whole array
array.each do |ele|
puts ele
end
# or to access by index
puts array[0] # to print the first value