我想对源列表执行以下操作:
其中一些方法(例如map和toList)是可链接的,因为它们返回一个非null对象。但是,该sort方法void在对List进行操作时返回,并且不返回列表。
Dart有一个方法级联运算符,它对于不返回的方法调用this或另一个对象非常有用。
我很难编写上面的调用序列,而不必在后面分配一个变量sort然后重新启动调用链。
我想写相当于:
return thing
.map(...)
.toList()
.sort(...)
.fold(...)
.sort(...)
.expand(...)
.toList();
Run Code Online (Sandbox Code Playgroud)
我能得到的最接近的是:
var thing
.map(...)
.toList()
..sort(...);
var otherThing = thing
.fold(...)
..sort(...);
var finalThing = otherThing.expand(...).toList();
Run Code Online (Sandbox Code Playgroud)
有没有更好的办法?如何“脱离”级联并继续连锁?
您可以添加一些括号吗?我猜是这样的...
return ((thing
.map(...)
.toList()..sort(...))
.fold(...)..sort(...))
.expand(...)
.toList();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
231 次 |
| 最近记录: |