Lassen Sie uns zwei Quellen haben:Kann das Paket-Objekt irgendwie definiert werden, so dass seine Anwendung mit einem syntaktischen Zucker aufgerufen wird?
Library/package.scala
:
package object Library {
def apply(name: String) = name.reverse
}
Main.scala
:
object Main extends App {
println(Library.apply("reverse me")) // works
println(Library("reverse me")) // error: package Library is not a value
}
Gibt es eine Möglichkeit, um dieses? Kann ich etwas in das Paketobjekt oder irgendwo anders einfügen, so dass ich das Objekt direkt mit dem syntaktischen Zucker aufrufen kann, ohne explizit angeben zu müssen?
Warum ein 'Paket object'? – cchantep
Ich passe ziemlich große Quellbasis an, die von einer anderen Sprache umgewandelt wird. Es existiert bereits ein Paket 'Library' mit vielen Objekten und es existiert auch ein Wert' Library', auf den (als Map) zugegriffen wird, um einzelne Objekte zu erhalten. – Suma
Es entspricht nicht der üblichen Kodierungskonvention für Scala-Code – cchantep