O s-aradeğerleyici kullanarak üç çift tırnak kullanırken bile, geri kaçar döner şaşırtıcıdır:
scala> "hi\nthere."
res5: String =
hi
there.
scala> """hi\nthere."""
res6: String = hi\nthere.
scala> s"""hi\nthere."""
res7: String =
hi
there.
olarak s-interpolator özgün-üçlü alıntı vardı dize parçaları işleminin aslı olduğunu bilmiyor . Dolayısıyla:
Böyle regexes gibi diğer yollarla tersbölüleri kullanırken bu önemlidir
scala> raw"""hi\nthere."""
res8: String = hi\nthere.
: o da interpolasyon yapar yazan yere
scala> val n = """\d"""
n: String = \d
scala> s"$n".r
res9: scala.util.matching.Regex = \d
scala> s"\d".r
scala.StringContext$InvalidEscapeException: invalid escape character at index 0 in "\d"
at scala.StringContext$.loop$1(StringContext.scala:231)
at scala.StringContext$.replace$1(StringContext.scala:241)
at scala.StringContext$.treatEscapes0(StringContext.scala:245)
at scala.StringContext$.treatEscapes(StringContext.scala:190)
at scala.StringContext$$anonfun$s$1.apply(StringContext.scala:94)
at scala.StringContext$$anonfun$s$1.apply(StringContext.scala:94)
at scala.StringContext.standardInterpolator(StringContext.scala:124)
at scala.StringContext.s(StringContext.scala:94)
... 33 elided
scala> s"""\d""".r
scala.StringContext$InvalidEscapeException: invalid escape character at index 0 in "\d"
at scala.StringContext$.loop$1(StringContext.scala:231)
at scala.StringContext$.replace$1(StringContext.scala:241)
at scala.StringContext$.treatEscapes0(StringContext.scala:245)
at scala.StringContext$.treatEscapes(StringContext.scala:190)
at scala.StringContext$$anonfun$s$1.apply(StringContext.scala:94)
at scala.StringContext$$anonfun$s$1.apply(StringContext.scala:94)
at scala.StringContext.standardInterpolator(StringContext.scala:124)
at scala.StringContext.s(StringContext.scala:94)
... 33 elided
scala> raw"""\d$n""".r
res12: scala.util.matching.Regex = \d\d
Teşekkür ben docs yer kaçırdı. – ntn
Kayıt için, scaladoc aslında ne yaptığını söylüyor. http://www.scala-lang.org/files/archive/nightly/2.11.x/api/2.11.x/index.html#[email protected](args:Any*):String –
Temelde Bu ham 'ne yapar' yapar. "" "$ Ile" $ "dizesini değiştirebilirim. Bu zaten 'sıra' ihtiyacını açıklamıyor. –