gpt4 book ai didi

ruby - 如何从 shell 运行 Ruby gem?

转载 作者:太空宇宙 更新时间:2023-11-03 16:00:59 26 4
gpt4 key购买 nike

假设我有一个 gem ,可以从摄氏度转换为华氏度。因此,在我的 IRB 中,在安装 gem 之后,我可以:

Temperature.convert_to_celsius(80)

我的问题是,如何修改 gem 以使其能够从 shell 运行?我见过一些有 bin 文件夹的 gem,但我不确定如何继续。这样做的正确方法是什么?

最佳答案

编写自己的包装器脚本

你想多了。 gem 只是一个打包的 Ruby 模块。大多数 gem 都有可执行的 Ruby 脚本,允许从命令行运行它们,但有些则没有,尤其是当它们打算用作库而不是命令时。如果您的 gem 没有自己的可执行包装器,您可以编写自己的包装器。

假设您的 gem 被称为“温度”,您可以简单地编写一个名为 temp.rb 的可执行 Ruby 包装器,如下所示:

#!/usr/bin/env ruby

require 'temperature'
Temperature.convert_to_celsius ARGV.first

将包装器放在您的 PATH 某处(例如 $HOME/bin),并确保脚本是可执行的(例如 chmod 755 ~/bin/temp.rb).然后你可以从命令行调用脚本:

$ temp.rb 80
26.6667

关于ruby - 如何从 shell 运行 Ruby gem?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25343919/

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