英語版
このページの英語版を見る
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. max
Returns: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 size
1はubyte[]、2はushort[]、4はuint[]、8はulong[]に対応する Returns:コピーのdata
、コンパイル時にバイトがシャッフルされるversion(LittleEndian)
Copyright © 1999-2024 by the D Language Foundation
DEEPL APIにより翻訳、ところどころ修正。
このページの最新版(英語)
このページの原文(英語)
翻訳時のdmdのバージョン: 2.109.1
ドキュメントのdmdのバージョン: 2.109.1
翻訳日付 :
HTML生成日時:
編集者: dokutoku