Переменная - это уродливое слово в REBOL, все - даже слова - являются значениями.Это не какой-то семантический новостной реплик, он помогает понять, как течет REBOL.
Я думаю, что значения содержатся в одном гигантском массиве в памяти, где REBOL (язык) использует слова и их контексты.ссылаться и взаимодействовать со значениями.Большинство функций REBOL работают без дублирования этих значений:
head lowercase next uppercase str: "abcd"
remove back tail str
Это одна из наиболее эффективных функций REBOL - вам не нужно копировать для промежуточных процессов, требуя, чтобы это расточительно.Представьте, что этот массив растет, когда каждый раз, когда вы используете replace
, uppercase
или to-camel-case
, значение дублируется.Целые процессы могут быть построены на предпосылке модификации, а не дублирования - действительно, контекст может быть создан без необходимости возвращать значение:
remove-spaces: use [space mark][
space: charset " ^-"
[any [mark: space (remove mark) | skip]]
]
parse/all str: "Should Be No Spaces" remove-spaces
При этом становится понятно, куда копировать значения, и я думаю,случайно пересекается с даром REBOL для краткого выражения:
parse/all link: copy title: "An Article on REBOL" remove-spaces
print ["(" link ")" title]
to-camel-case copy field-label
И, конечно, модификация имеет свои ограничения.Иногда это чистое здание с нуля.