Что означает + + (точка плюс равно) в scala? - PullRequest
0 голосов
/ 06 марта 2020

У меня есть код, который выглядит как x. = + Y, где x имеет тип ArrayBuffer[String], а y - строка

1 Ответ

4 голосов
/ 06 марта 2020

См. https://docs.scala-lang.org/tour/operators.html - в Scala операторы являются методами, и методы могут быть вызваны с или без . перед ними (между экземпляром и идентификаторами методов).

Также см. Документы для ArrayBuffer, в которых говорится, что += является псевдонимом для addOne (или «добавление в конец»): https://www.scala-lang.org/api/current/scala/collection/mutable/ArrayBuffer.html

Так что это Метод добавляет строку y в конец x (которая является изменяемой).

scala> val x = ArrayBuffer("1", "3")
x: scala.collection.mutable.ArrayBuffer[String] = ArrayBuffer(1, 3)

scala> val y = ""
y: String = ""

scala> x.+=(y)
res1: x.type = ArrayBuffer(1, 3, "")

scala> x
res2: scala.collection.mutable.ArrayBuffer[String] = ArrayBuffer(1, 3, "")

// Add another string using a space, omitting the dot. Same thing
scala> x += "another string"
res3: x.type = ArrayBuffer(1, 3, "", another string)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...