飞镖中的两个点 (..)

问题描述

我正在阅读 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 语法糖的一部分),而不是像 . 那样只是设置值,它还返回您正在工作的对象

因此,由于这里的 add 想要一个 Component,因此首先创建 Square(它是一个组件),然后将 x 设置为 100 并返回相同的正方形,然后设置 y到 100 并再次返回相同的正方形,然后将其发送到 add

https://dart.dev/guides/language/language-tour#cascade-notation-

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...