asm*_*asm 11 ruby scripting require load-path
我一直试图得到一个ruby文件,需要另一个ruby文件,我觉得我疯了.我的设置如下
'/ raid1/ruby-code/benchmark /'中的两个文件
CommandRunner Benchmarker
Benchmarker是目前的主要程序,并且想要CommandRunner,我尝试了很多不同的东西,但没有一个能够工作.以下列出了我在Benchmarker开头所提出的所有内容
require 'CommandRunner'
require './CommandRunner'
$LOAD_PATH.unshift File.expand_path(File.dirname($PROGRAM_NAME)) require 'CommandRunner'
$LOAD_PATH.unshift File.expand_path(File.dirname($PROGRAM_NAME)) require './CommandRunner'
我也使用require_relative尝试了所有上述排列.我已经尝试过将文件加载到emacs内的irb中,我已经在命令行中尝试过了.在irb中的某一点,它会加载一次
require 'CommandRunner'然后加载,直到我将其切换回'./CommandRunner',然后再次加载.
我实际上有错误说
`require_relative': no such file to load -- /raid1/ruby-code/benchmark/CommandRunner (LoadError)
这是文件的正确路径!
我已经把它切换到加载,这似乎是有效的,我看到奇怪的行为,但这可能是我.有谁知道这里会发生什么?
是CommandRunner文件的名称而不是CommandRunner.rb?ruby文件的标准命名约定是使用小写和下划线,所以即使类名是CommandRunner,文件也是command_runner.rb,然后要求'command_runner'应该工作.
| 归档时间: |
|
| 查看次数: |
14348 次 |
| 最近记录: |