英語版
このページの英語版を見る
std.format.spec
これは std.format.
という構造体を中心に構成されている。 FormatSpecという構造体を中心に構成されている。
と呼ばれる構造体を中心に構成されている。
と呼ばれる構造体を中心に構成されている。さらにこのモジュールには、以下の関数が含まれている。
singleSpec関数を含んでいる。
License:
Authors:
Walter Bright, Andrei Alexandrescu, and Kenji Hara
- struct
FormatSpec
(Char) if (is(Unqual!Char == Char)); - フォーマット文字列の一般的なハンドラ。このハンドラは、関数 writeUpToNextSpec, 関数が中心である。 が見つかるまで解析する。呼び出し後、このハンドラは を提供する。Parameters:
Char フォーマット文字列の文字型 Examples:import std.array : appender; auto a = appender!(string)(); auto fmt = "Number: %6.4e\nString: %s"; auto f = FormatSpec!char(fmt); writeln(f.writeUpToNextSpec(a)); // true writeln(a.data); // "Number: " writeln(f.trailing); // "\nString: %s" writeln(f.spec); // 'e' writeln(f.width); // 6 writeln(f.precision); // 4 writeln(f.writeUpToNextSpec(a)); // true writeln(a.data); // "Number: \nString: " writeln(f.trailing); // "" writeln(f.spec); // 's' writeln(f.writeUpToNextSpec(a)); // false writeln(a.data); // "Number: \nString: "
- int
width
; - 最小幅。デフォルト:0 。
- int
precision
; - 精度。その意味はフォーマット文字に依存する。詳 し く は書式文字列を参照。 デ フ ォ ル ト :UNSPECIFIED 。
- int
separators
; - 区切り文字間の要素数。デ フ ォ ル ト :UNSPECIFIED 。
- bool
dynamicSeparatorChar
; - 区切 り キ ャ ラ ク タ は実行時に与え る。デフォルト:false。
- int
separatorCharPos
();
voidseparatorCharPos
(intvalue
); - 区切 り キ ャ ラ ク タ が実行時に与え ら れ る と き はDYNAMIC に設定する。デ フ ォ ル ト :UNSPECIFIED 。 警告:
separatorCharPos
は非推奨である。2.107.0で削除される。 代わりにdynamicSeparatorChar 。 - dchar
separatorChar
; - 区切り文字として使用する文字。デフォルト:',' 。
- enum int
DYNAMIC
; - width,precision およびseparators のための特別な値。これは、これらの値が実行時に変 数引数を通して渡されることを示すフラグである。 可変長引数" で渡されることを示す。
- enum int
UNSPECIFIED
; - precision とseparators には特別な値を指定する。これらの値が指定されていないことを示すフラグである。
- char
spec
; - フォーマット文字。デフォルト:'s' 。
- ubyte
indexStart
; - 位置パラメータの引数のインデックス。1 から始まる。使わない と きは0 に設定する。デ フ ォ ル ト :0 。
- ubyte
indexEnd
; - 位置パラメーター範囲の最後の引数のインデックス。カウントは1 で始まる。使われなければ0 に設定する。デ フ ォ ル ト :0 。
- bool
flDash
; - 書式指定子に'-' が含まれていた。
- bool
flZero
; - 書式指定子に'0' が含まれていた。
- bool
flSpace
; - 書式指定子にスペースが含まれていた。
- bool
flPlus
; - 書式指定子には'+' が含まれていた。
- bool
flHash
; - 書式指定子には'#' が含まれていた。
- bool
flEqual
; - 書式指定子には'=' が含まれていた。
- bool
flSeparator
; - 書式指定子には',' が含まれていた。
- const(Char)[]
nested
; - 入れ子になった書式指定子の内側の書式文字列。
- const(Char)[]
sep
; - 入れ子になった書式指定子のセパレーター。null つまり、セパレーターはない。ただし、 は含まない、 は長さゼロのセパレータを意味する。empty null
- const(Char)[]
trailing
; - フォーマット文字列の、まだ解析されていない部分を含む。
- enum immutable(Char)[]
seqBefore
; - 各範囲または範囲のような構造の前に、"[" というシーケンスが挿入される。
- enum immutable(Char)[]
seqAfter
; - シーケンス"]" 各範囲または範囲類似構造の後に挿入される。
- enum immutable(Char)[]
keySeparator
; - ":" 、連想配列の要素キーと要素値の間に挿入される。 連想配列の要素キーと要素値の間に挿入されたシーケンス。
- enum immutable(Char)[]
seqSeparator
; - シーケンス", " 、範囲、範囲のような構造、または連想配列の要素の間に挿入される。 構造体または連想配列の要素の間に挿入されるシーケンス。
- pure @safe this(in Char[]
fmt
); - 新しいFormatSpec を作成する。文字列は遅延評価される。つまり、何もしない、 が呼び出されるまで何も行われない。 writeUpToNextSpecが呼び出されるまで、何も行われない。Parameters:
Char[] fmt
フォーマット文字列 - scope bool
writeUpToNextSpec
(OutputRange)(ref OutputRangewriter
); - 次の書式指定子が見つかるまで、書式文字列を出力範囲に書き込み、その書式指定子を解析する。 次の書式指定子が見つかるまで書式文字列を出力範囲に書き込み、その書式指定子を解析する。書式指定子についての詳細は、書式文字列の説明を参照のこと。 の説明を参照のこと。Parameters:
OutputRange writer
出力範囲、 フォーマット文字列が書き込まれる OutputRange 出力範囲の"型 Returns:書式指定子が見つかった場合は真、書式文字列の末尾に達した場合は偽を返す。 に達した場合は偽となる。Throws: - const pure @safe string
toString
(); - 文字列表現を提供する。Returns:文字列表現を提供する。
- const void
toString
(OutputRange)(ref OutputRangewriter
)
if (isOutputRange!(OutputRange, char)); - 文字列表現を出力範囲に書き込む。Parameters:
OutputRange writer
出力範囲に文字列表現を書き込む、 表現が書き込まれる OutputRange 出力範囲の型
- FormatSpec!Char
singleSpec
(Char)(Char[]fmt
); - 単一のフォーマット指定子に対してFormatSpec を返すヘルパー関数。Parameters:
Char[] fmt
フォーマット文字列 単一の書式指定子を含む Char の文字型。 fmt
Returns:A FormatSpecの文字型で、書式指定子は解析される。Throws:書式文字列に書式指定子が含まれていない場合、または 書式文字列が書式指定子を含まないか、1つ以上の書式指定子 例外が発生する。Examples:import std.array : appender; import std.format.write : formatValue; auto spec = singleSpec("%10.3e"); auto writer = appender!string(); writer.formatValue(42.0, spec); writeln(writer.data); // " 4.200e+01"
Copyright © 1999-2024 by the D Language Foundation
DEEPL APIにより翻訳、ところどころ修正。
このページの最新版(英語)
このページの原文(英語)
翻訳時のdmdのバージョン: 2.108.0
ドキュメントのdmdのバージョン: 2.109.1
翻訳日付 :
HTML生成日時:
編集者: dokutoku