英語版
このページの英語版を見る
dmd.utils
このモジュールでは、DMD用のいくつかのユーティリティ関数を定義する。
Authors:
License:
ソースutils.d
適用範囲 https://codecov.io/gh/dlang/dmd/src/master/src/dmd/utils.d
- nothrow const(char)*
toWinPath(const(char)*src); - パスを正規化するには、前方スラッシュをバックスラッシュに変換するParameters:
const(char)* srcソースパスは、UNIX形式('/')のパス区切り文字を使用する Returns:新たに割り当てられた文字列で、スラッシュをバックスラッシュに置き換える - nothrow bool
readFile(Locloc, const(char)[]filename, ref OutBufferbuf); - ファイルを読み込み、エラーが発生した場合はプログラムを終了するParameters:
Loc loc呼び出し元の行番号情報 const(char)[] filenameファイルへのパス OutBuffer bufファイルの内容を追加する Returns:失敗時に true - nothrow bool
writeFile(Locloc, const(char)[]filename, const void[]data); - ファイルを書き込み、エラーが発生した場合はプログラムを終了するParameters:
Loc loc呼び出し元の行番号情報 const(char)[] filenameファイルへのパス void[] data書き込むファイルの全内容 Returns: エラー発生時は falseエラー時に false - nothrow bool
ensurePathToNameExists(Locloc, const(char)[]name); - 指定されたパスのルートパス(パス名を除いた部分)が 存在することを確認し、存在しない場合は処理を終了する。Parameters:
Loc loc呼び出し元の行番号情報 const(char)[] nameチェックするパス(名前は削除されている)を Returns: エラー時に falseエラー時に false を返す - nothrow void
escapePath(OutBuffer*buf, const(char)*fname); - パスを受け取り、'('、')'、バックスラッシュをエスケープするParameters:
OutBuffer* bufエスケープされたパスを書き込むバッファ const(char)* fnameエスケープするパス - nothrow void
writeEscapedMakePath(ref OutBufferbuf, const(char)*fname); - パスを受け取り、GNU Makefile 形式と互換性のあるものにする。GNU makeは空白文字に対して奇妙な引用符のスキームを使用する。 2N+1個のバックスラッシュで先行されたスペースまたはタブは、N個のバックスラッシュの後にスペースが続くことを表す。 2N個のバックスラッシュで先行されたスペースまたはタブは、ファイル名の最後にN個のバックスラッシュがあることを表す。 他のコンテキストにおけるバックスラッシュは2重にしてはならない。Parameters:to escapeエスケープ
OutBuffer bufエスケープされたパスを書き込むバッファ const(char)* fnameエスケープするパス Examples:文字列を整数に変換する。version (Windows) { enum input = `C:\My Project\file#4$.ext`; enum expected = `C:\My\ Project\file\#4$$.ext`; } else { enum input = `/foo\bar/weird$.:name#\ with spaces.ext`; enum expected = `/foo\bar/weird$$.\:name\#\\\ with\ spaces.ext`; } OutBuffer buf; buf.writeEscapedMakePath(input); assert(buf[] == expected);
- pure nothrow @nogc @safe bool
parseDigits(T)(ref Tval, const(char)[]p, const Tmax= T.max); - 文字列を整数に変換する。Parameters:
T 解析する整数の型 T val結果を格納する変数 const(char)[] p文字列の先頭からスライス 数字 T max最大許容値(含む)、デフォルトは T. maxReturns:on erroron errorfalse エラー発生時は 、成功時はtrueExamples:xml-ph-0000@deepl.internalxml-ph-0000@deepl.internalbyte b; ubyte ub; short s; ushort us; int i; uint ui; long l; ulong ul; assert(b.parseDigits("42") && b == 42); assert(ub.parseDigits("42") && ub == 42); assert(s.parseDigits("420") && s == 420); assert(us.parseDigits("42000") && us == 42_000); assert(i.parseDigits("420000") && i == 420_000); assert(ui.parseDigits("420000") && ui == 420_000); assert(l.parseDigits("42000000000") && l == 42_000_000_000); assert(ul.parseDigits("82000000000") && ul == 82_000_000_000); assert(!b.parseDigits(ubyte.max.stringof)); assert(!b.parseDigits("WYSIWYG")); assert(!b.parseDigits("-42")); assert(!b.parseDigits("200")); assert(ub.parseDigits("200") && ub == 200); assert(i.parseDigits(int.max.stringof) && i == int.max); assert(i.parseDigits("420", 500) && i == 420); assert(!i.parseDigits("420", 400));
- nothrow ubyte[]
arrayCastBigEndian(const ubyte[]data, size_tsize); - ubyte[] を、ビッグエンディアンアーキテクチャ上にあるかのように、より大きな整数の配列にキャストするParameters:
ubyte[] dataビッグエンディアンデータを持つ配列として size_t size1はubyte[]、2はushort[]、4はuint[]、8はulong[]に対応する Returns:コピーのdata、コンパイル時にバイトがシャッフルされるversion(LittleEndian)
Copyright © 1999-2025 by the D Language Foundation
DEEPL APIにより翻訳、ところどころ修正。
このページの最新版(英語)
このページの原文(英語)
翻訳時のdmdのバージョン: 2.109.1
サイト全体のドキュメントのdmdのバージョン: 2.109.1
最新のdmdのバージョン: 2.111.0 ダウンロード
翻訳日付:
HTML生成日時:
編集者: dokutoku