当前位置:  开发笔记 > 后端 > 正文

编写一个ruby命令行应用程序; 最好的办法吗?

如何解决《编写一个ruby命令行应用程序;最好的办法吗?》经验,为你挑选了0个好方法。

我有一个命令行Ruby应用程序我正在开发,我想允许它的用户提供将作为过程的一部分进行过滤的代码.基本上,应用程序执行此操作:

    读入一些数据

    如果指定了过滤器,则使用它来过滤数据

    处理数据

我希望过滤过程(步骤2)尽可能灵活.

我的想法是用户可以提供一个Ruby文件,设置一个已知的常量来指向实现我定义的接口的对象,例如:

# user's filter

class MyFilter
  def do_filter(array_to_filter)
    filtered_array = Array.new
    # do my filtering on array_to_filter
    filtered_array
end 

FILTER = MyFilter.new

我的应用程序的代码将执行以下操作:

array_that_might_get_filtered = get_my_array()
if (options.filter_file)
  require options.filter_file
  array_that_might_get_filtered = FILTER.do_filter(array_that_might_get_filtered)
end

虽然这会起作用,但感觉很俗气,似乎应该有更好的方法来做到这一点.我还认为过滤器的形式是为已知类添加已知名称的方法,但这似乎也不正确.

Ruby中有更好的成语吗?

推荐阅读
ERIK又
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有