传递相当巨大的参数ruby脚本,问题?

时间:2009-11-13 01:33:41

标签: ruby

ruby somescript.rb somehugelonglistoftextforprocessing

这是一个坏主意吗?我应该创建一个单独的平面文件包含somehugelonglistoftextforprocessing,让somescript.rb读取它吗?

脚本参数是非常长的文本(1KB~300KB)是否重要?如果有的话会出现什么问题。

1 个答案:

答案 0 :(得分:6)

只要不超出命令行处理代码的限制(例如,bashruby本身),您就不会遇到技术问题此

这是否是良好的想法是另一回事。你是否真的想要在运行程序时每次每次输入几百千字节?如果数据包含空格,您是否需要记住在数据周围加上引号?

有很多方法我已经看过这个你可能想要考虑的方法(这个清单并非详尽无遗):

  • 更改您的代码,以便在没有参数的情况下,从标准输入中读取信息 - 这将允许您执行任何操作 ruby somescript.rb myData

    ruby somescript.rb <myFile.txt

  • 使用特殊字符表示文件输入(我以这种方式看过@)。所以,
    ruby somescript.rb myData
    将使用命令行上提供的数据 ruby somescript.rb @myFile.txt
    将从文件中获取数据。

我的建议是对该大小的数据使用基于文件的方法,并允许在指定时使用参数。这涵盖了两种可能的情况:

  • 大量数据,将其放在一个文件中,这样每次要运行命令时都不必重新输入。
  • 没有太多数据,允许将其作为参数传递,这样您就不必为命令行中更容易输入的内容创建文件。