从Ruby中的文件读取列表
我有一个txt文件,其中包含以下格式的数据: X1-Y1 X2 Y2 等等 我想从这个文件中读取数据,并用ruby创建两个列表(X包含X1,X2,Y包含Y1,Y2)。我怎么用Ruby做这个从Ruby中的文件读取列表,ruby,file,list,Ruby,File,List,我有一个txt文件,其中包含以下格式的数据: X1-Y1 X2 Y2 等等 我想从这个文件中读取数据,并用ruby创建两个列表(X包含X1,X2,Y包含Y1,Y2)。我怎么用Ruby做这个 谢谢。如果您正好有两列,请选择类似的内容: one = Array.new two = Array.new File.open("filename") do |file| while line = file.gets one << line.split[0] two &
谢谢。如果您正好有两列,请选择类似的内容:
one = Array.new
two = Array.new
File.open("filename") do |file|
while line = file.gets
one << line.split[0]
two << line.split[1]
end
end
one=Array.new
二=数组。新
文件。打开(“文件名”)do |文件|
而line=file.get
一个伪码
File.new("source.txt", "r").each_line do |line|
x, y = line.split
xs << x
ys << y
end
File.new(“source.txt”,“r”)。每行|
x、 y=直线分割
xs对于这样的事情,我更喜欢使用readlines
方法
x = []
y = []
File.readlines(filename).each do |line|
x << line.split[0]
y << line.split[1]
end
真正的一行:
x, y = File.foreach("filename").collect {|line| line.split}.transpose
您可以使用File.foreach(文件名)
而不是File.readlines(文件名)。每个都可以避免将整个文件加载到内存中。另外,您正在执行两次split()
,这是不必要的。非常正确的Mladen,您还可以将split分配给一个变量并使用该变量。
x, y = File.foreach("filename").collect {|line| line.split}.transpose