Ölçekte, "burada dokümanlar" başlıyor ve bitiyor 3 "
Scala'nın "burada dokümanlar" bölümünde "" nasıl çıktı?
val str = """Hi,everyone"""
Ama eğer dize """
içeriyorsa? Xzx10 çıkışı nasıl yapılır?
Ölçekte, "burada dokümanlar" başlıyor ve bitiyor 3 "
Scala'nın "burada dokümanlar" bölümünde "" nasıl çıktı?
val str = """Hi,everyone"""
Ama eğer dize """
içeriyorsa? Xzx10 çıkışı nasıl yapılır?
yana çok satırlı dize hazır \u0022
yoluyla kaçan unicode olmaz scala derleyici kadar akıllı olduğunu,
"""Hi, """+"""""""""+"""everyone"""
iyi bir şeydir: hepsi de aynı üç tırnak olarak değerlendirilebilir çünkü, tek şansın şöyle uç uca ekleyerek, size yardımcı Bunu düzeltin ve böylece derleme sırasında tek bir dizgi yapacaktır.
En azından, scala -print
'un söylediği şey budur.
object o {
val s = """Hi, """+"""""""""+"""everyone"""
val t = "Hi, \"\"\"everyone"
}
ve ancak scala -print
Main$$anon$1$o.this.s = "Hi, """everyone";
Main$$anon$1$o.this.t = "Hi, """everyone";
→ Not kullanarak, ki bunu da girdi bu şekilde yapamam.
scala -print
çıktılarının biçimi yalnızca dahili kullanım için görünüyor. Yine de bunu yapmanın daha kolay, daha basit bir yolu olabilir.
yapamazsın
scala yorumlu metinler ham dizeleri varsa ve bunları eklemek bir dize kullanım dize birleştirme içinde üçlü tırnak gerekirse herhangi kaçış kodlarını kullanmayın
Bildiğim kadarıyla üçlü tırnakları kullanamazsınız. spec, bölüm 1.3.5, devletler:
bir çok satırlı dize "" "... ''" üçlü tırnak içinde bir karakter dizisidir. Karakter dizisi, yalnızca sondaki üç veya daha fazla konservatif alıntı karakteri içerebileceği dışında isteğe bağlıdır. Karakterler mutlaka yazdırılabilir olmamalıdır; yeni satırlar veya diğer kontrol karakterlerine de izin verilir. Unicode kaçışları her yerde olduğu gibi çalışır, ancak (§1.3.6) içerisindeki çıkış dizilerinin hiçbiri yorumlanmaz. Bir dizesinde çıkışına üç tırnak istiyorsanız
Öyleyse, hala kaçması ile tek tırnak dizesi kullanabilirsiniz:
scala> val s = "Hi, \"\"\"everyone"
s: java.lang.String = Hi, """everyone
normal dizede. –
Yani, bunu heredoc'ta yapmanın bir yolu yoktur. Scala'nın neden desteklemediğini anlamıyorum. – Freewind
@jhominal: Çok satırlı bir dizede üç alıntı karakterini unicode ederseniz hala çalışmayacaksınız. Hala çok satırlı dize literal –
posted on a similar question numaralı telefonu tamamen hack ediyorum, fakat burada da çalışıyor: Scala'nın XML yapılarını bir ara biçim olarak kullanın.
val str = <a>Hi,"""everyone</a> text
Bu, ç çift tırnak işareti içeren bir dize verecektir.
Kaçış karakteri yok mu? O/"/"/"' yapamaz mı? – wheaties
hayır, bir heredoc dize ekleyerek \ veya/önce/"dizesi ama kaçıp" veya "\ eklersiniz" Ayrıca unicode kaçış dizisi kullanabiliriz –