我有一个ruby文件,它没有.rb扩展名,而是被标识为ruby代码,在文件的开头有一个shebang:#!/usr/bin/env ruby .我想在另一个ruby文件中require这个文件中的代码,但它似乎有一个问题,因为require自动附加.rb扩展到它查找的文件。有没有办法抑制这种行为,使require只查找给定名称的文件?
.rb
#!/usr/bin/env ruby
require
mcvgt66p1#
请改用load:
load
load 'file-name'
f45qwnt82#
我们有允许用户调用的脚本,这些脚本可以通过符号链接访问。符号链接位于我们的/usr/local/bin目录中,通过对/etc/profile的微小调整,该目录会自动包含在它们的路径中。我们真实的的脚本存在于一个单独的目录中,使用正常的Ruby名称,以“.rb”结尾。如果需要,我们可以使用require访问这些脚本。
/usr/local/bin/foo --> /usr/local/share/app_name/foo.rb
kulphzqa3#
添加一个符号链接到文件,然后要求。
ln -s bin/foo lib/stubs/foo.rb require 'stubs/foo'
3条答案
按热度按时间mcvgt66p1#
请改用
load
:f45qwnt82#
我们有允许用户调用的脚本,这些脚本可以通过符号链接访问。符号链接位于我们的/usr/local/bin目录中,通过对/etc/profile的微小调整,该目录会自动包含在它们的路径中。
我们真实的的脚本存在于一个单独的目录中,使用正常的Ruby名称,以“.rb”结尾。如果需要,我们可以使用
require
访问这些脚本。kulphzqa3#
添加一个符号链接到文件,然后要求。