REBOL 3/Серии REBOL 3: различия между версиями

Содержимое удалено Содержимое добавлено
Новая страница: «== Прохождение == == Функции == == Типы данных == == Информация == == Создание и копирование == == Итер…»
 
Строка 1:
== Прохождение ==
 
Когда серия - упорядоченное множество значений, вы можете пройти одну ее позицию за другой.
Для примера можно взять блок из трех простых значений.
<pre>colors: [red green blue]</pre>
Первая позиция в блоке называется головой.
Эту позицию занимает первое слово.
Последняя позиция блока называется хвостом.
Эта позиция следует сразу за последним словом в блоке.
Хвост - только путь к концу блока.
Если ввести слово переменную как имя блока, то переменная будет ссылкой на блок.
Это текущее место для головы блока.
<pre>print head? colors
true</pre>
Переменная есть первый индекс позиция блока.
Наш блок имеет длину равную 3.
Мы можем получить или вывести первый или второй элементы блока.
Мы можем репозиционировать переменную в блоке используя различные функции, например, сдвинуть на одну позицию.
Тогда, например, переменная имени блока уже не будет в голове, но займет место первого элемента в блоке, а второй станет первым.
Однако длина блока уменьшиться на один и станет 2, где будет теперь последний третий элемент.
Повторив сдвиг еще раз, то кроме переменной имени и последней переменной в блоке у вас ничего не останется.
Причем имя блока еще не будет хвостом, хотя оно уже на последнем месте.
Для того, чтобы достичь хвоста переменную имени надо сдвинут еще раз.
Тогда длина блока будет 0, но индекс позиции имени 4.
Причем элементов в блоке не останется и если мы захотим узнать первый элемент блока, то получим ошибку, выход за пределы конца блока.
 
== Функции ==
== Типы данных ==