在Dart中创建可变数量的参数或参数的函数 - 代码日志

在Dart中创建可变数量的参数或参数的函数

我正在寻找一种在Dart中创建具有可变数量的参数或参数的函数的方法。我知道我可以创建一个数组参数,但是我宁愿不这样做,因为我在一个很重要的语法简洁的库中工作。

例如,在简单的JavaScript中,我们可以这样做(从here借来):

function superHeroes() {
  for (var i = 0; i < arguments.length; i++) {
    console.log("There's no stopping " + arguments[i]);
  }
}

superHeroes('UberMan', 'Exceptional Woman', 'The Hunk');

但是,在dart中,该代码将不会运行。有没有办法在飞镖上做同样的事情?如果不是,这是路线图上的东西吗?

你现在不能这样做。

我真的不知道varargs会不会回来 – 他们在那里以前还有have been removed

但是可以使用Emulating functions模拟varargs。请参阅下面的代码段。

typedef dynamic OnCall(List);

class VarargsFunction extends Function {
  OnCall _onCall;

  VarargsFunction(this._onCall);

  call() => _onCall([]);

  noSuchMethod(Invocation invocation) {
    final arguments = invocation.positionalArguments;
    return _onCall(arguments);
  }
}

main() {
  final superHeroes = new VarargsFunction((arguments) {
    for (final superHero in arguments) {
      print("There's no stopping ${superHero}");
    }
  });
  superHeroes('UberMan', 'Exceptional Woman', 'The Hunk');
}
http://stackoverflow.com/questions/13731631/creating-function-with-variable-number-of-arguments-or-parameters-in-dart

本站文章除注明转载外,均为本站原创或编译
转载请明显位置注明出处:在Dart中创建可变数量的参数或参数的函数