Скажем, я хотел создать новый оператор в scala, который бы делал это:
val a = "hello"
val b = "world" | a
Этот новый метод с именем |
будет работать с 2 строками, они также могут быть потенциально опциями.
Если первая строка равна None
или ""
, тогда возвращается к 2-му значению a
.
Итак:
val a = "hello"
val b = "world" | a
b is "world"
И:
val a = "hello"
val b = "" | a
b is "hello"
И
val a: Option[String] = None
val b = a | "world"
b is "world"
Если кто-то может объяснить, как он может написать это, и какие функции Scala позволяют DSL, подобному этому, работать.