所以我的项目层次结构如下:为什么使用不同文件夹内的文件中的函数时无法找到我的文件?
.
└── project
├── main.rb
├── res
│ └── test.txt
└── modules
└── printer.rb
我的打印机文件看起来像它打印文本文件的内容到控制台这包含一个函数:
def print_file_dir(file)
logo = File.open(__dir__ + file, 'r');
logo.each_line do |line|
puts line
end
logo.close
puts
end
,我打电话给我的方法像这样:
require_relative 'modules/printer'
print_file_dir('/res/logo.txt')
然而,当我在叫我print_file_dir
方法上文件夹,它引发以下错误:
.../modules/printer.rb:3:in `initialize': No such file or directory @ rb_sysopen - .../modules/res/test.txt (Errno::ENOENT)
我怎样才能从其中printer.rb
文件所在的文件夹模块中获取文件阻止它,而是从我相对于初始目录中的文件的状态?
你怎么称呼你的方法,你如何指定文件名时,你打电话给你的方法是什么? –
@RoanFourie编辑OP – rshah