プロトコル
ExpressibleByStringInterpolation
式を含む文字列リテラルを使用した文字列補間によって初期化できる型。
宣言
概要
文字列補間を使用して、1 つ以上の式を文字列リテラルに含め、括弧のセットで包み込み、バックスラッシュを前に付けます。 例えば:
let price = 2
let number = 3
let message = "One cookie: $\(price), \(number) cookies: $\(price * number)."
print(message)
// Prints "One cookie: $2, 3 cookies: $6."
デフォルトの補間動作の拡張
String や Substring などの型の補間を実装する型である DefaultStringInterpolation を拡張して、既存の型に新しい補間動作を追加し、appendInterpolation(_:) のオーバーロードを新しい動作で追加します。
詳細については、DefaultStringInterpolation および StringInterpolationProtocol のドキュメントを参照してください。
デフォルトの文字列補間をサポートする型の作成
文字列リテラルと補間をサポートするが、カスタム動作を何も必要としない新しい型を作成するには、型を ExpressibleByStringInterpolation に準拠させ、ExpressibleByStringLiteral プロトコルによって宣言された init(stringLiteral: String) イニシャライザを実装します。Swift は、補間タイプとして DefaultStringInterpolation を自動的に使用し、補間されたリテラルの内容を init(stringLiteral:) に渡す init(stringInterpolation:) の実装を提供するため、このプロトコルに固有のものは何も実装する必要はありません。
カスタムの文字列補間をサポートする型の作成
準拠する型でリテラルと補間されたセグメントを区別したり、補間できる型を制限したり、String の補間された物とは異なる補間された物をサポートしたり、データを含む String の作成を回避したりする場合、型はカスタムの StringInterpolation の関連型を指定しなければなりません。この型は、StringInterpolationProtocol に準拠し、一致する StringLiteralType を持っていなければなりません。
詳細については、StringInterpolationProtocol のドキュメントを参照してください。
トピックス
関連型
associatedtype StringInterpolation
補間を含む文字列リテラルの各セグメントを付け加えるべき型。
必須。
イニシャライザ
init(StringInterpolation: Self.StringInterpolation)
文字列補間からインスタンスを作成します。
必須。 デフォルトの実装が提供されます。
関連
以下よりの継承
以下による継承
準拠する型
Date.FormatString
OSLogMessage
String.LocalizationValue
以下も見よ
文字列リテラル
protocol ExpressibleByStringLiteral
文字列リテラルで初期化できる型。
protocol ExpressibleByExtendedGraphemeClusterLiteral
単一の拡張書記素クラスタを含む文字列リテラルで初期化できる型。
protocol ExpressibleByUnicodeScalarLiteral
単一の Unicode スカラー値を含む文字列リテラルで初期化できる型。
protocol ExpressibleByStringInterpolation
式を含む文字列リテラルを使用した文字列補間によって初期化できる型。
protocol StringInterpolationProtocol
構築中に文字列リテラルの内容を補間で表します。