code: function (arg, cb) {
  
      if (arguments.length > 2) {
          arg = tools._argsToArr(arguments);
  
          cb = arg.pop();
      } else {
          cb = cb || arg;
      }
  
      if (!(cb instanceof Function)) {
          cb = null;
      }
  
      switch (toString.call(arg)) {
          case '[object String]' :
              if (cb) {
                  rapid.watch(arg, cb);
              } else {
                  return rapid.use(arg);
              }
              break;
          case '[object Object]' :
              // define map
              rapid.define.call(rapid, arg);
              break;
          case '[object Function]' :
              cb = arg;
              arg = [];
              rapid._runnext(cb);
              break;
          case '[object Array]' :
  
              // callback when the depends all readied
              if (!cb) {
                  throw new Error('missing callback');
              }
  
              arg = arg.slice(0);
              arg.push(cb);
              rapid.watch.apply(rapid, arg);
              break;
          default:
              return false;
      }
  }
docs: RapidJS 根名称空间.
  @global
  @exports rapid
  @namespace {Function} rapid
   
  一个万能方法.根据参数的不同会有不同的调用行为.
  如果调用方式为rapid( {string}), 将执行rapid.use
  如果调用方式为rapid( {string}, [string], [string]..., {function}),  将执行rapid.watch
  如果调用方式为rapid( {array<string>}, {function}), 将执行rapid.watch
  如果调用方式为rapid( {Map}), 将执行rapid.define;
  如果调用血方式为rapid( {function}), 将执行_runnext;
  @method rapid.: :self
  @param {string|object|function} arg
  
  @param {function} cb
  @returns {any}