7.14. Operacje postfiksowe

Operacja postfiksowa polega na umieszczeniu operatora po wyrażeniu, którego dotyczy. Może być użyta w przypadku każdego identyfikatora. Spójrzmy na definicję klasy PostfixGreeting z pliku PostfixGreeting.scala, która zawiera definicje dwóch metod bezparametrowych.

Plik PostfixGreeting.scala:
class PostfixGreeting(name: String) {
  def ! :String = "Hello "+name+"!"
  def welcome:String = "Welcome "+name
}

Te metody mogą być wywoływane zarówno przy użyciu operacji postfiksowej, jak i w zwykły sposób.

scala> import language.postfixOps 
import language.postfixOps

scala> val john = new PostfixGreeting("John")
john: PostfixGreeting = PostfixGreeting@1367418

scala> john!
res0: String = Hello John!

scala> john.!
res1: String = Hello John!

scala> john.welcome
res2: String = Welcome John

scala> john welcome
res3: String = Welcome John

Klauzula importu z wiersza jest użyta w celu uniknięcia ostrzeżenia kompilatora. Więcej na ten temat można dowiedzieć się w punkcie 13.5. Specyfikacja języka Scala opisuje operacje postfiksowe w punkcie 6.12.2.

Język programowania Scala Wydanie 2. Copyright © Grzegorz Balcerek 2016

Licencja Creative Commons

Ten utwór jest dostępny na licencji Creative Commons Uznanie autorstwa-Na tych samych warunkach 4.0 Międzynarodowe.

Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective owners.