Мы знаем, что:
[a
b]
и
[a b]
... обрабатываются так же, как «исходный код» Rebol, они описывают идентичные структуры данных.Мы также знаем, что Rebol отражающий и может читать и записывать свой код / формат данных с помощью LOAD и SAVE.
И все же возникает вопрос: если вы загружаете исходный файл с новой строкой вэто ... и затем СОХРАНИТЕ это ... будет ли разрыв строки в выводе?Или это будет принудительно переведено в канонический формат?
(Чтобы узнать немного о сумасшедшем опыте с надписью LOAD и SAVE, прочитайте мои дебаты с BrianH ... где вы видитея делаю солидное дело, а он, как обычно, отмахивается от меня. Это расстраивает, что я не в ладах с "гуру", какими бы умными они ни были.: P)
В любом случае, вы должныпонять, что Ребол пытается быть умным.Там есть двоичный бит «новой строки», который скрыт за кулисами, выполните help new-line
, и вы увидите:
USAGE:
NEW-LINE block value /all /skip size
DESCRIPTION:
Sets or clears the new-line marker within a block. (Modifies)
NEW-LINE is a native value.
ARGUMENTS:
block -- Position in block to change marker (block!)
value -- Set TRUE for newline
REFINEMENTS:
/all -- Set/clear marker to end of block
/skip -- Set/clear marker periodically to the end of the block
size (integer!)
Так что если вы хотите играть в игру с исходным кодом Rebol и использовать LOADи SAVE, вы должны вызвать этот API, чтобы добавить бит «новой строки» в param22
.Но поймите, что если ваши данные должны соответствовать формату проводов не-Rebol-источника (или читаться людьми с определенными ожиданиями), то вы используете неправильные функции.Вам нужно выполнить сериализацию рангов и файлов с read
и write
.