當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


Scala StringContext.f用法及代碼示例

f 方法(或屬性)屬於 scala.StringContext 類(class),其相關用法說明如下。

用法:

erased def f[A = Any](args: A*): String

格式化的字符串插值器。

它在字符串上下文的相應部分之間插入其參數。它還處理 Scala 規範中定義的標準轉義序列。最後,如果插值表達式後跟以格式說明符開頭的parts 字符串,則表達式將根據該說明符進行格式化。 Java 格式字符串中允許的所有說明符都被處理,並且它們在 Java 中的處理方式相同。

例如:

val height = 1.9d
val name = "James"
println(f"$name%s is $height%2.2f meters tall")  // James is 1.90 meters tall

值參數:

`args`

要插入到結果字符串中的參數。

拋出:

IllegalArgumentException

如果封閉的StringContext中的parts的數量不超過參數的數量arg正好1.

StringContext.InvalidEscapeException

如果 parts 字符串包含不啟動有效轉義序列的反斜杠 (\) 字符.注意:f 方法的用法原理是從所有 parts 字符串中組裝一個格式字符串,並使用 java.lang.String.format 使用該格式字符串格式化所有參數。格式字符串是通過連接所有parts字符串,並執行兩個轉換得到的:

  1. 讓 _formatting position_ 成為除第一個字符串之外的任何 parts 字符串的開頭。如果格式化位置不引用% 字符(假定它是格式說明符的開頭),則插入字符串格式說明符%s。 2. 任何不在格式化位置的% 字符必須開始轉換%%(文字百分比)或%n(特定於平台的行分隔符)之一。

源碼:

StringContext.scala

相關用法


注:本文由純淨天空篩選整理自scala-lang.org大神的英文原創作品 StringContext.f。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。