6. Типы данных и встроенные методы
← Ввод, вывод и системные команды · Оглавление · Далее: Java-доступ и импорты →
Методы вызываются через точку. Для базовых типов встроенные методы имеют приоритет над Java reflection. Если встроенного метода с таким именем нет, интерпретатор пытается вызвать Java-поле или Java-метод.
Null
$value = null
println $value.To-String()
| Метод |
Возвращает |
Описание |
To-String() |
String |
Возвращает строку "null". |
Boolean
$enabled = true
println $enabled.To-String()
| Метод |
Возвращает |
Описание |
To-String() |
String |
Возвращает "true" или "false". |
Number
Числа бывают целыми (Integer) и дробными (Decimal).
$integer = 10
$decimal = 10.5
println $decimal.Round()
println (-5).Abs()
| Метод |
Возвращает |
Описание |
To-String() |
String |
Преобразует число в строку. |
Abs() |
Number |
Абсолютное значение. |
Round() |
Integer |
Округляет до ближайшего целого. |
Floor() |
Integer |
Округляет вниз. |
Ceil() |
Integer |
Округляет вверх. |
String
$text = " Hello, JOBS "
println $text.Trim().To-Upper()
println $text.Contains("JOBS")
| Метод |
Возвращает |
Описание |
Size() / Length() |
Integer |
Длина строки. |
Is-Empty() |
Boolean |
Проверяет пустую строку. |
Contains($value) |
Boolean |
Проверяет наличие подстроки. |
Starts-With($prefix) |
Boolean |
Проверяет начало строки. |
Ends-With($suffix) |
Boolean |
Проверяет конец строки. |
To-Upper() / To-Lower() |
String |
Меняет регистр. |
Trim() |
String |
Убирает пробелы по краям. |
Substring($start) |
String |
Подстрока от индекса до конца. |
Substring($start, $end) |
String |
Подстрока до $end, не включая $end. |
Split($delimiter) |
List |
Разбивает строку по разделителю. |
Matches($regex) |
Boolean |
Проверяет соответствие всей строки регулярному выражению. |
Contains-Match($regex) / Find($regex) |
Boolean |
Ищет совпадение регулярного выражения. |
Replace($regex, $replacement) |
String |
Заменяет совпадения. |
Split-Regex($regex) |
List |
Разбивает по регулярному выражению. |
Regex
Регулярные выражения задаются литералом re"..." и представлены Java-типом java.util.regex.Pattern.
$email = re"^[^@]+@[^@]+\\.[^@]+$"
if $email.Matches("hello@example.com") {
println "valid"
}
$parts = re"\\s+".Split("one two three")
println $parts.Join(", ")
В re"..." используются те же escape-последовательности, что и в строках. Поэтому для Java-регулярки \d+ нужно писать re"\\d+".
| Метод |
Возвращает |
Описание |
To-String() |
String |
Возвращает исходный шаблон. |
Matches($text) |
Boolean |
Проверяет весь текст. |
Contains($text) / Find($text) |
Boolean |
Ищет совпадение. |
First($text) |
String / Null |
Первое совпадение или null. |
Group($text, $index) |
String / Null |
Группа первого совпадения. |
Replace($text, $replacement) |
String |
Заменяет совпадения. |
Split($text) |
List |
Разбивает текст. |
Path
$config = p"/etc" / "app" / "config.yaml"
$relative = p"build/output.txt"
if $relative.Parent().Exists() {
println $relative.Name()
}
| Метод |
Возвращает |
Описание |
To-String() |
String |
Преобразует путь в строку. |
Name() / File-Name() |
String / Null |
Имя последнего элемента. |
Parent() |
Path / Null |
Родительский путь. |
Root() |
Path / Null |
Корень пути. |
Is-Absolute() |
Boolean |
Проверяет абсолютность. |
Absolute() |
Path |
Абсолютный путь. |
Normalize() |
Path |
Нормализованный путь. |
Resolve($path) / Join($path) |
Path |
Добавляет сегмент. |
Sibling($path) / Resolve-Sibling($path) |
Path |
Путь-сосед. |
Relativize($path) |
Path |
Относительный путь. |
Starts-With($path) / Ends-With($path) |
Boolean |
Проверяет начало или конец пути. |
Exists() |
Boolean |
Проверяет существование. |
Is-File() / Is-Directory() |
Boolean |
Проверяет тип объекта ФС. |
Create-Directories() |
Path |
Создаёт директории и возвращает путь. |
List
$items = [1, 2]
$items.Add(3)
$items.Insert(0, 0)
$old = $items.Set(1, 10)
if $items.Contains(3) {
println $items.Join(", ")
}
| Метод |
Возвращает |
Описание |
Size() |
Integer |
Количество элементов. |
Is-Empty() |
Boolean |
Проверяет пустой список. |
Contains($value) |
Boolean |
Проверяет наличие значения. |
Get($index) |
Any |
Элемент по индексу с нуля. |
First() / Last() |
Any |
Первый или последний элемент. |
Copy() |
List |
Поверхностная копия. |
Reverse() |
List |
Новый список в обратном порядке. |
Join() / Join($delimiter) |
String |
Склеивает элементы. |
Add($value) |
List |
Добавляет элемент. |
Insert($index, $value) |
List |
Вставляет элемент. |
Set($index, $value) |
Any |
Заменяет элемент, возвращает старый. |
Remove($value) |
Boolean |
Удаляет первое совпадение. |
Remove-At($index) |
Any |
Удаляет и возвращает элемент. |
Clear() |
List |
Очищает список. |
Map / HashMap
$archive = map {
"name": "archive.tar"
"size": 1024
1: ["first", "second"]
}
println $archive.Get("name")
println $archive.Get(1).Join(", ")
| Метод |
Возвращает |
Описание |
Size() |
Integer |
Количество пар. |
Is-Empty() |
Boolean |
Проверяет пустую map. |
Contains($key) / Contains-Key($key) |
Boolean |
Проверяет наличие ключа. |
Get($key) |
Any |
Значение по ключу или null. |
Keys() |
List |
Ключи в порядке вставки. |
Values() |
List |
Значения в порядке вставки. |
Copy() |
Map |
Поверхностная копия. |
Set($key, $value) / Put($key, $value) |
Map |
Записывает значение. |
Remove($key) |
Any |
Удаляет ключ и возвращает старое значение. |
Clear() |
Map |
Очищает map. |
← Ввод, вывод и системные команды · Оглавление · Далее: Java-доступ и импорты →