scala StringContext(>2.10)

scala中StringContext支持3種插值操作:s|f|raw。分別是變量替換;字符串格式化和非轉(zhuǎn)義字符。
比如:val t = s"1+1=${1+1}" // t: String = 2
val pi=3.1415926d
val s = f"$pi%2.3f" // s: String = 3.142
val x = r"a\nb" // x: String = a\nb

StringContext 還支持更高級(jí)的用法,比如可以仿照s|f|raw的實(shí)現(xiàn)自己實(shí)現(xiàn)一個(gè)隱式類(lèi),以StringContext作為參數(shù)。比如

implicit class JsonHelper(sc: StringContext) {
  def json(args: Any*) = {
    val params = sc.parts.Iterator
    val value = args.Iterator
    // ....
  }
} 
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 在挖掘分析的過(guò)程當(dāng)中對(duì)字符串的處理是極為重要的,且出現(xiàn)也較為頻繁,R語(yǔ)言作為當(dāng)前最為流行的開(kāi)源數(shù)據(jù)分析和可視化平臺(tái)...
    果果哥哥BBQ閱讀 6,142評(píng)論 0 8
  • ¥開(kāi)啟¥ 【iAPP實(shí)現(xiàn)進(jìn)入界面執(zhí)行逐一顯】 〖2017-08-25 15:22:14〗 《//首先開(kāi)一個(gè)線程,因...
    小菜c閱讀 7,322評(píng)論 0 17
  • Spring Cloud為開(kāi)發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,544評(píng)論 19 139
  • 思維不是與生俱來(lái)的東西,它可以被訓(xùn)練和改變。培根在《論讀書(shū)》里提到:“讀史使人明智,讀詩(shī)使人靈秀,數(shù)學(xué)使人周密,科...
    llccgao閱讀 729評(píng)論 0 0
  • 春節(jié)過(guò)后,又到了每年的跳槽高峰期。每一名勞動(dòng)者都享有自行選擇職業(yè)的權(quán)利,可以根據(jù)自己的意愿跳槽。但跳槽也應(yīng)該遵守法...
    瀟湘法苑閱讀 249評(píng)論 0 0

友情鏈接更多精彩內(nèi)容