如何从终端运行Ruby脚本中的dj文件类型

如何从终端运行Ruby脚本中的dj文件类型,ruby,Ruby,以下代码位于名为test.dj的文件中。该文件属于Ruby内部开发的代码库,没有准确的文档: entity :bob do action :say_hi do puts "Hello!" end end 如何从命令提示符运行此代码?当我尝试这样运行它时: $ruby test.dj 我收到错误消息: test.dj:1:in `<main>': undefined method `entity' for main:Object (NoMethodError) 我

以下代码位于名为test.dj的文件中。该文件属于Ruby内部开发的代码库,没有准确的文档:

entity :bob do
  action :say_hi do
    puts "Hello!"
  end
end
如何从命令提示符运行此代码?当我尝试这样运行它时:

$ruby test.dj
我收到错误消息:

test.dj:1:in `<main>': undefined method `entity' for main:Object (NoMethodError)

我看到的唯一的gem是Hdk,但我也无法在web上找到它的文档。

您的脚本确实是Ruby代码,但它不是独立的Ruby代码。它是Ruby内部DSL中的一个程序。DSL正在定义方法实体和操作,它们不是Ruby的一部分

在DSL中编写的脚本将由该DSL执行。可能应该使用另一个命令来调用此脚本。我不知道那是什么命令。假设该命令被称为分布式_作业,则可以执行此脚本:

distributed_jobs test.dj

但是只有您正在使用的DSL文档才能回答如何执行此脚本。

在这种情况下,查找名为Rakefile、Gemfile或config.ru的文件通常很有用

耙子 “Rake”是一个Ruby Make工具,可以作为CLI运行。它将寻找用Ruby编写的Rakefile来定义功能。您还可以运行$rake-T来获得可用命令的列表,希望测试就是其中之一

Gemfile 大多数Ruby项目都使用Bundler来管理依赖关系。如果以前的开发人员声明了一个依赖项,那么您可能会在Gemfile中找到它。如果存在这种情况,在目录中运行$bundle install应该安装依赖项注意:您可能需要先运行gem install bundler

config.ru
这被称为“rackup”配置,它允许Ruby应用程序作为RackWebServer应用程序运行。我怀疑你会在你的项目中找到这一点,但如果你找到了,它可能会给你提供关于所使用的依赖项或库的线索。

你无法编译ruby。不管怎样,实体来自某个库。为什么这个问题被标记为[distributed]?@Jordan如果您注意到,文件扩展名是.dj,它代表分布式作业,它会导致堆栈溢出。请阅读和链接页面,以及。你还没有告诉我们足够的信息来帮助你,听起来你是在暗中拍摄,希望我们能为你写一篇教程。相反,请提供更多详细信息,例如您在哪里找到该代码。然后,如果它来自一个宝石或一个应用程序,研究它,看看你学到了什么。将有帮助。该标签用于多台计算机协同工作,使用网络进行通信。它不适用于分布式作业,因为分布式作业可能是一个gem或应用程序。有关更多信息,请参阅。非常好。您是对的,运行此脚本的命令是dj。问这个问题的原因是为了了解DSL,看看是否只有Ruby可以用来运行这个脚本。