ruby-on-rails - 我如何与 Ruby 和 Thor 分开争论?

标签 ruby-on-rails ruby code-generation thor

我一直在学习 Ruby 并在自己的项目中使用 Thor,我想知道如何使用 Thor 拆分参数。例如:

scaffold Post name:string title:string content:text

我想知道如何将name:stringtitle:stringcontent:text 拆分成一个对象数组,其中包含“name ”和“类型”。

最佳答案

假设您有一个包含以下内容的文件 scaffold.rb:

array = ARGV.map { |column_string| column_string.split(":").first }
puts array.inspect # or 'p array'

然后,如果我们运行 ruby scaffold.rb name:string title:string content:text,你会得到

["name", "title", "content"]

如果我们的代码是 p ARGV,那么输出将是 ["name:string", "title:string", "content:text"]。因此,我们将得到我们之后传递的任何内容,ruby scaffold.rb 作为在代码内的 ARGV 变量中按空格分隔的数组。我们可以在代码中随意操作这个数组。

免责声明:我不了解 Thor,但想展示这是如何在 Ruby 中完成的

关于ruby-on-rails - 我如何与 Ruby 和 Thor 分开争论?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8473093/

相关文章:

ruby - 在 Ruby 中调用 super 方法

ruby-on-rails - 将 ROR 应用程序部署到无法访问互联网的机器上

java - 当表具有外键时 Telosys 代码生成失败

ruby-on-rails - 如何将日期时间值格式化为更友好的格式?

ruby-on-rails - 将昂贵的查询放在后台线程上会有助于网站性能吗?

javascript - 如何使用 Rails 在 Excel 或 Word 中创建报告?

ruby - Heroku Rails 应用 Assets 管理

框架的 Java 代码生成

windows-phone-7 - 如何使用 CCI 或 Mono.Cecil 从头开始​​创建新的 Windows Phone 7 程序集

ruby-on-rails - Rails,验证输入字段的最大长度