Ich versuche, eine einfache implizite Klasse auf Int
zu bauen eine Funktion für Ints hinzuzufügen:Scala DSL: Wie füge ich Wörter hinzu, die "nichts" machen?
object Helper {
implicit class IntHelper(i: Int) {
def add(str: String): Int = i + str.toInt
}
}
natürlicher zu sein, zu schreiben, ich die DSL dies zulassen möchte (mit import Helper._
):
2 add "3" and add "4"
aber ich kann nicht herausfinden, wie man die and
Funktion macht. Ich dachte, das würde man arbeiten:
object Helper {
implicit class IntHelper(i: Int) {
def add(str: String): Int = i + str.toInt
def and: Int = i
}
}
, aber es funktioniert nicht ohne die Klammern (in der Tat, "2.add("3").and.add("4")
funktioniert, aber imo gibt es zu viele Vollstellen und Klammern für einen DSL).
Dank