gpt4 book ai didi

ruby - gem 中的可执行文件如何引用更大的 gem?

转载 作者:数据小太阳 更新时间:2023-10-29 08:08:23 57 4
gpt4 key购买 nike

假设我的 gem 是 VideoPlayer。文件夹结构是:

VideoPlayer/
/bin
vidplay.rb
/lib
VideoPlayer.rb
Subtitler.rb
Screenshotter.rb

我希望人们从命令行调用 vidplay,并为 vidplay 引用 VideoPlayerSubtitler< 中的代码Screenshotter 文件。

如果我只是在vidplay.rb中写require '../lib/VideoPlayer.rb',它会抛出一个错误,说它不能要求这样的文件。我想“也许它会自动要求 lib/ 中的所有内容”,但显然不需要;如果我不需要任何东西,它会说 VideoPlayer 是一个未初始化的常量。

那么这是如何工作的呢?

最佳答案

我通常将 lib 目录添加到库加载路径 ($:)。您可以将其添加到 bin 文件的顶部。

lib = File.expand_path('../../lib', __FILE__)
$:.unshift(lib) unless $:.include?(lib)

然后你可以做一个正常的要求:

require 'videoplayer'

希望这对您有所帮助。

关于ruby - gem 中的可执行文件如何引用更大的 gem?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27781813/

57 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com