Путь
Операции над путями, не требующие разрешений. Эти операции могут использоваться для манипулирования именами путей, но не предоставляют доступ к полученным путям.
primitive val Path
Конструкторы
create
new val create() : Path val^
Возвращает
- Путь val^
Публичные функции
is_sep
Определяет, является ли байт разделителем пути.
fun box is_sep( c: U8 val) : Bool val
Параметры
- c: U8 val
Возвращает
- Булево val
sep
Возвращает разделитель пути в виде строки.
fun tag sep() : String val
Возвращает
- Строка val
is_abs
Возвращает true, если путь является абсолютным.
fun box is_abs( path: String val) : Bool val
Параметры
- path: Строка val
Возвращает
- Булево val
join
Объединяет два пути. Если next_path является абсолютным, возвращает его напрямую. Возвращаемый путь будет очищен.
fun box join( path: String val, next_path: String val) : String val
Параметры
Возвращает
- Строка val
clean
Заменяет несколько разделителей на один. Преобразует / в разделитель ОС. Удаляет вхождения . из пути. Удаляет вхождения .. и предыдущий элемент пути из пути. Результат не будет содержать конечный слеш, если это не корневой каталог. Если результат пустой, возвращается ".".
fun box clean( path: String val) : String val
Параметры
- path: Строка val
Возвращает
- Строка val
normcase
Нормализует регистр пути для текущей платформы.
fun box normcase( path: String val) : String val
Параметры
- path: Строка val
Возвращает
- Строка val
cwd
Возвращает рабочую директорию программы. Установка рабочей директории не поддерживается, так как она не потокобезопасна.
fun box cwd() : String val
Возвращает
- Строка val
abs
Возвращает очищенный абсолютный путь.
fun box abs( path: String val) : String val
Параметры
- path: Строка val
Возвращает
- Строка val
rel
Возвращает путь такой, что Path.join(to, Path.rel(to, target)) == target. Вызывает ошибку, если это невозможно.
fun box rel( to: String val, target: String val) : String val ?
Параметры
Возвращает
- Строка val ?
split
Разделяет путь на пару (head, tail), где tail — последний компонент имени пути, а head — всё, что находится перед ним. Часть tail никогда не будет содержать слеш; если путь заканчивается на слеш, tail будет пустым. Если в пути нет слеша, head будет пустым. Если путь пустой, оба head и tail пустые. Путь в head будет очищен перед возвратом. Во всех случаях join(head, tail) возвращает путь к тому же расположению, что и путь (но строки могут отличаться). См. также функции dir() и base().
fun box split( path: String val, separator: String val = call) : (String val , String val)
Параметры
Возвращает
base
Возвращает путь после последнего разделителя или весь путь, если разделителей нет. Если with_ext является false, расширение, определенное методом ext(), будет опущено из результата.
fun box base( path: String val, with_ext: Bool val = true) : String val
Параметры
Возвращает
- Строка val
dir
Возвращает очищенный путь до последнего разделителя или весь путь, если разделителей нет.
fun box dir( path: String val) : String val
Параметры
- path: Строка val
Возвращает
- Строка val
ext
Возвращает расширение файла, т.е. часть после последней точки, при условии, что эта точка находится после всех разделителей. Возвращает пустую строку, если расширения нет.
fun box ext( path: String val) : String val
Параметры
- path: Строка val
Возвращает
- Строка val
volume
В Windows возвращает букву диска или базу UNC в начале пути, если она есть. В противном случае возвращает пустую строку.
fun box volume( path: String val) : String val
Параметры
- path: Строка val
Возвращает
- Строка val
from_slash
Заменяет каждый / в пути на разделитель ОС.
fun box from_slash( path: String val) : String val
Параметры
- path: Строка val
Возвращает
- Строка val
to_slash
Заменяет каждый разделитель ОС в пути на /.
fun box to_slash( path: String val) : String val
Параметры
- path: Строка val
Возвращает
- Строка val
canonical
Возвращает эквивалентный канонический абсолютный путь. Вызывает ошибку, если такой путь не существует.
fun box canonical( path: String val) : String val ?
Параметры
- path: Строка val
Возвращает
- Строка val ?
is_list_sep
Определяет, является ли байт разделителем списка путей.
fun box is_list_sep( c: U8 val) : Bool val
Параметры
- c: U8 val
Возвращает
- Булево val
list_sep
Возвращает разделитель списка путей в виде строки.
fun box list_sep() : String val
Возвращает
- Строка val
split_list
Разделяет список путей на массив очищенных путей.
fun box split_list( path: String val) : Array[String val] iso^
Параметры
- path: Строка val
Возвращает
random
Возвращает псевдослучайное имя, подходящее для временных файлов или каталогов, но не гарантирующее, что оно не существует уже.
fun box random( len: USize val = 6) : String val
Параметры
- len: USize val = 6
Возвращает
- Строка val
eq
fun box eq( that: Path val) : Bool val
Параметры
- that: Путь val
Возвращает
- Булево val
ne
fun box ne( that: Path val) : Bool val
Параметры
- that: Путь val
Возвращает
- Булево val
© 2016-2020, The Pony Developers
© 2014-2015, Causality Ltd.
Licensed under the BSD 2-Clause License.
https://stdlib.ponylang.io/files-Path