std.path
パスの文字列を組み立て、分解する。読み書きするのは std.file。プログラムの中では区切りに / を書いておけばよく、join が環境に合わせる。
import std.path;
print(path.join("data", "fish.json")); // data/fish.json
path.join path.join_all path.dir path.name path.stem path.ext path.normalize path.absolute path.is_absolute path.separator
- path.join(a: string, b: string) → string¶
-
2つをつなぐ。区切り文字は環境に合わせる。
print(path.join("data", "fish.json")); // data/fish.json
- path.join_all(parts: list<string>) → string¶
-
まとめてつなぐ。
print(path.join_all(["a", "b", "c.txt"])); // a/b/c.txt
- path.dir(p: string) → string¶
-
親ディレクトリの部分。
print(path.dir("data/fish.json")); // data
- path.name(p: string) → string¶
-
ファイル名の部分(拡張子つき)。
print(path.name("data/fish.json")); // fish.json
- path.stem(p: string) → string¶
-
ファイル名の部分(拡張子なし)。
print(path.stem("data/fish.json")); // fish
- path.ext(p: string) → string¶
-
拡張子。. を含む。無ければ空文字。
print(path.ext("data/fish.json")); // .json print(path.ext("README") == ""); // true
- path.normalize(p: string) → string¶
-
. や .. を畳んで、短い形にする。
print(path.normalize("a/b/../c")); // a/c
- path.absolute(p: string) → Result<string>¶
-
絶対パスにする。いまいる場所を使う。
if var full = path.absolute("fish.json") { print(path.is_absolute(full)); // true }
- path.is_absolute(p: string) → bool¶
-
絶対パスかどうか。
print(path.is_absolute("data/fish.json")); // false
- path.separator() → string¶
-
この環境の区切り文字("/" か "\")。
print(path.separator().len()); // 1