Vorlagen der Flucht in Kotlin multiline-strings
Wenn ich $
Zeichen in multiline-strings, wie kann ich Ihnen entkommen?
val condition = """ ... $eq ... """
$eq
wird analysiert, wie eine Referenz auf eine variable. Wie die Flucht $
, so dass Sie nicht erkannt werden als Referenz zu variable? (Kotlin M13)
Du musst angemeldet sein, um einen Kommentar abzugeben.
Aus der Dokumentation
Würden Sie brauchen, um eine standard-string mit Zeilenumbrüchen
oder verwenden Sie die literal-Darstellung
s:http://kotlinlang.org/docs/reference/basic-types.html#string-literals
\$
hat nicht arbeiten in mehrzeiligen strings. Nur${'$'}
tut. Da der umgekehrte Schrägstrich interpretiert wird als literal backslash und nicht als eine Flucht.Komisch, aber so funktioniert das:
Eigentlich, wenn
eq
ist eine Zahl (ein Preis, oder sth), dann wollen Sie wahrscheinlich berechnen Sie separat, und eine zusätzliche externe Berechnung, wie ich vorgeschlagen, nicht verletzt.$
-Zeichenfolgen, die Sie erlauben, die bei einem definierten Satz von Operatoren (wie in Mongo) es heißt, Sie bekommen einige typo-Schutz.In dem Fall, wo Sie wissen im Voraus, was
$
-Variablen, die Sie wollen (wie beim Abfragen Mongo, so wie es aussieht könnten Sie tun), können Sie ein little helper-Objekt, definiert die Variablen. Sie erhalten auch einen gewissen Schutz gegen versehentlich falsch geschrieben, einer Ihrer Operatoren, die ist ordentlich.Schrieb ich einfache Versionen für das update-und query-strings für mongo hier: https://gist.github.com/Yona-Appletree/29be816ca74a0d93cdf9e6f5e23dda15