我有以下代码
#!/usr/bin/env ruby
require_relative 'parser'
Parser.new
当我调用File.open时,它不会在其相对目录中进行读写,因为通常情况会是这样的情况?例如,如果我进入终端并调用我的Parser类,那么File.open表现正常,从其相对目录读取和写入。
这是Parser类
require_relative 'HPC'
class Parser
def initialize
o = File.open('O.txt','a+')
i = File.open("here.txt",'r').readlines
i.each do |line|
code, pcum, div, frank = line.split
hypo_price = HPC::hpc(pcum, div, frank)
o.puts "#{code}: #{hypo_price}"
end
end
end
答案 0 :(得分:1)
File.open
打开当前目录中的文件。要设置相对于脚本的路径,请尝试以下操作:
here_path = File.expand_path("here.txt", File.dirname(__FILE__))
i = File.open(here_path,'r').readlines