...
Метод | Описание | Пример | Результат |
---|---|---|---|
count() | Получение количества элементов списка | [1, 2, 3].count() | 3 |
first() | Получение первого элемента списка | [1, 2, 3].first() | 1 |
last() | Получение последнего элемента списка | [1, 2, 3].last() | 3 |
has(index) | Возвращает true, если список содержит элемент с указанным порядковым номером и false в противном случае | [1, 2, 3].has(0) [1, 2, 3].has(3) | true false |
get(index) | Возвращает элемент списка по его порядковому номеру или nil если такого элемента нет | [1, 2, 3].get(1) [1, 2, 3].get(3) | 2 |
toTuple() | Возвращает кортеж состоящий из элементов данного списка | [1, 2, 3].toTuple() | (1, 2, 3) |
clear() | Удаляет все элементы списка | $x = [1, 2, 3] | $x содержит пустой список [] |
reverse() | Меняет порядок следования элементов списка на обратный | [1, 2, 3].reverse() | [3, 2, 1] |
append(item) | Добавляет переданное значение item в конец списка | [1, 2, 3].append(4) | [1, 2, 3, 4] |
prepend(item) | Добавляет переданное значение item в начало списка | [1, 2, 3].prepend(0) | [0, 1, 2, 3] |
shift() | Удаляет и возвращает первый элемент списка | $x = [1, 2, 3] | $y будет содержать 1, а $x станет равным [2, 3] |
pop() | Удаляет и возвращает последний элемент списка | $x = [1, 2, 3] | $y будет содержать 3, а $x станет равным [1, 2] |
set(index, item) | Добавляет значение в указанную позицию списка. Если позиция лежит за пределами списка, то он будет расширен нулевыми значениямидо нужного размера. | $x = [1, 2, 3] | $y содержит [1, 0, 3] |
remove(index) | Удаляет элемент списка в указанной позиции и возвращает его значение | $x = [1, 2, 3] | $y будет содержать 2, а $x станет равным [1, 3] |
equals(other) | Возвращает true, если other представляет собой точно такой же список (т.е. список содержащий те же самые элементы) и false в противном случае | ['a', 'b'].equals(['a', 'b']) | true false |
hash() | Возвращает строку, представляющую собой хэш списка (значение уникально идентифицирующее содержимое списка) | ['a', true].hash() | bb2fadd01f7d0ac9864dc963a61f653f |
...
Это отдельный класс операций предназначенных для выполнения над битовыми представлениями целых чисел.
Пример | Результат |
---|---|
~$a | Устанавливаются те биты, которые не установлены в $a, и наоборот |
$a & $b | Устанавливает только те биты, которые установлены и в $a, и в $b |
$a | $b | Устанавливает те биты, которые установлены в $a или в $b |
$a ^ $b | Устанавливаются только те биты, которые установлены либо только в $a, либо только в $b, но не в обоих одновременно |
...
Есть только одна операция для работы со строками. Это сложение или конкатенация строк:
Приер | Результат |
---|---|
"a" + "b" | "ab" |
Если первый аргумент оператора "+" не является строкой, то будет выполняться арифметическая операция сложения. Если второй аргумент операции конкатенации не является строкой, то он будет преобразован в строку согласно следующей таблицы преобразования:
...
Операции сравнения выполняются над любыми типами данных и результатом их вычисления являются булевые значения.
Пример | Результат |
---|---|
$a == $b | true если $a тождественно равно $b |
$a != $b | true если $a тождественно не равно $b |
$a > $b | true если $a больше $b |
$a >= $b | true если $a больше или равно $b |
$a < $b | true если $a меньше $b |
$a <= $b | true если $a меньше или равно $b |
...
Для встроенных типов объектов tuple, list и map доступна одна операция объединения:
Пример | Результат |
---|---|
(1, 2) + (3, 4) | (1, 2, 3, 4) |
['a', 'b'] + ['c'] | ['a', 'b', 'c'] |
{'a': 0, 'b': 2} + {'a': 1, 'c': 3} | {'a': 1, 'b': 2, 'c': 3} |
Операции присваивания
Операции присваивания повзоляют назначать переменным какое-либо значение:
Пример | Результат |
---|---|
$a = 123 | $a содержит 123 |
$a += 1 | $a = $a + 1 |
$a -= 1 | $a = $a - 1 |
$a *= 2 | $a = $a * 2 |
$a /= 2 | $a = $a / 2 |
$a \= 2 | $a = $a \ 2 |
$a %= 5 | $a = $a % 5 |
$a **= 3 | $a = $a ** 3 |
$a &= 1 | $a = $a & 1 |
$a |= 3 | $a = $a | 3 |
$a ^= 4 | $a = $a ^ 4 |
Кроме присваивания значения одной переменной есть возможность присвоить значение сразу нескольким переменным:
Пример | Пояснение | Значение выражения присваивания |
---|---|---|
($x, $y, $z) = (1, 2, 3) | $x = 1 $y = 2 $z = 3 | (1, 2, 3) |
[$x, $y] = ($y, $x) | $x = $y $y = $x | [$y, $x] |
{'a': $x, 'b': $y} = {'a': true, 'b': false} | $x = true $b = false | {'a': true, 'b': false} |
($x, $y, $z) += [1, 2, 3] | $x = $x + 1 $y = $y + 2 $z = $z + 3 | ($x + 1, $y + 1, $z + 1) |
{3: $x, 7: $y} *= (2, 3) | $x = $x * 2 $y = $y * 3 | {3: $x * 2, 7: $y * 3} |