Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.

...

МетодОписаниеПримерРезультат
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
nil

toTuple()
Возвращает кортеж состоящий из элементов данного списка
[1, 2, 3].toTuple()

(1, 2, 3)

clear()
Удаляет все элементы списка
$x = [1, 2, 3]
$x.clear()

$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 = $x.shift()

$y будет содержать 1, а $x станет равным [2, 3]

pop()
Удаляет и возвращает последний элемент списка
$x = [1, 2, 3]
$y = $x.pop()

$y будет содержать 3, а $x станет равным [1, 2]

set(index, item)
Добавляет значение в указанную позицию списка. Если позиция лежит за пределами списка, то он будет расширен нулевыми значениямидо нужного размера.
$x = [1, 2, 3]
$y = $x.set(1, 0)
$z = $x.set(5, 'a')

$y содержит [1, 0, 3]
$z содержит [1, 2, 3, nil, nil, 'a']

remove(index)
Удаляет элемент списка в указанной позиции и возвращает его значение
$x = [1, 2, 3]
$y = $x.remove(1)

$y будет содержать 2, а $x станет равным [1, 3]

equals(other)
Возвращает true, если other представляет собой точно такой же список (т.е. список содержащий те же самые элементы) и false в противном случае
['a', 'b'].equals(['a', 'b'])
['a', 'b'].equals(['b', 'a'])
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}