作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
正如 Dart 文章中所述:
The ".." syntax invokes a method (or setter or getter) but discards the result, and returns the original receiver instead.
myList..clear().addAll(otherList);
.addAll
在
null
.
.
先于
..
以便
.addAll
已在
上调用结果 的
.clear()
.
myList..clear()..addAll(otherList);
(myList..clear()).addAll(otherList);
(如果我想得到 .addAll()
的结果。.
优先级?这似乎非常违反直觉。是否要避免这样的语法:
myList(..clear().useResultOfClear()).addAll(otherList);
?
最佳答案
您可以阅读 Gilad Bracha 的文章:Method Cascades in Dart .在它的末尾,您将看到许多示例。
另见 this answer of Lasse Nielsen about operator precedence :
It helps to think of ".." as not really an operator, but more like a scoping construct (like parentheses). It creates a new scope from the ".." to either the next "..", or the first other scope delimiter (";", ")", "}" or similar).
a..b().c()
与
(t){t.b().c(); return t;}(a)
相同
关于dart - 方法级联如何在 dart 中准确工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17025769/
我是一名优秀的程序员,十分优秀!