飞镖中的两个点 (..)
Two dots in dart (..)
我正在阅读 Flame 游戏引擎中的示例游戏代码。
代码:
MyGame() {
add(Square()
..x = 100
..y = 100);
}
这是存储库中的代码(第 59-63 行):https://github.com/flame-engine/flame/blob/master/example/lib/main.dart
我之前看过这个符号,但我一直不明白 (..x
和 ..y
) 是什么意思。
这里的..
代表什么?
这在 Dart 中称为级联运算符(它实际上不是运算符,只是 Dart 语法糖的一部分),而不是像 .
那样只设置值,它还 returns 你正在处理的对象。
所以由于add
这里要一个Component
,所以先创建Square
(这是一个组件)然后x设置为100和returns一样square 然后 y 被设置为 100 和 returns 同样的 square 然后被发送到 add
.
https://dart.dev/guides/language/language-tour#cascade-notation-
我正在阅读 Flame 游戏引擎中的示例游戏代码。
代码:
MyGame() {
add(Square()
..x = 100
..y = 100);
}
这是存储库中的代码(第 59-63 行):https://github.com/flame-engine/flame/blob/master/example/lib/main.dart
我之前看过这个符号,但我一直不明白 (..x
和 ..y
) 是什么意思。
这里的..
代表什么?
这在 Dart 中称为级联运算符(它实际上不是运算符,只是 Dart 语法糖的一部分),而不是像 .
那样只设置值,它还 returns 你正在处理的对象。
所以由于add
这里要一个Component
,所以先创建Square
(这是一个组件)然后x设置为100和returns一样square 然后 y 被设置为 100 和 returns 同样的 square 然后被发送到 add
.
https://dart.dev/guides/language/language-tour#cascade-notation-