# File lib/cri/command.rb, line 98
    def self.define(string=nil, filename=nil, &block)
      dsl = Cri::CommandDSL.new
      if string
        args = filename ? [ string, filename ] : [ string ]
        dsl.instance_eval(*args)
      elsif [ -1, 0 ].include? block.arity
        dsl.instance_eval(&block)
      else
        block.call(dsl)
      end
      dsl.command
    end