Предыдущая глава |
↓ Содержание ↓
↑ Свернуть ↑
|
ноль (хоть / хоть %). При этом %r или %R завершается неуспешно. И при
отсутствии постфикса завершает выполнение форматного выражения. (Для очередной
строки.) А для %r под маркером останется фрагмент строки, который уже успели
обработать.
Все неизвестные команды ошибок не вызывают, а просто игнорируются, что
наверно неправильно.
— А лошадь мэра родила двухголового телёнка
— Чо?!
— Ничо — про перекодировки, ради которых всё и затеяно, опять забыли!
Эти самые перекодировки обозначаем исключительно русскими буквами: чтобы не
путаться, и еще потому, что преобразованию подвергаются только русские,
латинские в младшей части — один в один ASCII. (Хотя для ебздиковской
производной ДКОИ это, как оказалось, совсем не так!) Согласно ранее
объявленному принципу: строчная — к нам, заглавная — на экспорт. (Ну скромные
мы!) А все латинские соответственно для обозначения других операций.
Здесь был обещан список кодировок и их обозначений. Но он в точности такй-же как и чуть выше:
Д д — ДОСовсская 866 В в — виндовая 1251 К к — КОИ-8
У у — уникод И и — ИСО 8859.5 М м — макинтош
а еще планируется сделать (но пока не сделано)
С с — славянская 855 Е е — ебздиковская производная ДКОИ.
А еще для табличного преобразования символов — шифровки/дешифровки методом
замены одних символов на другие (по табличке) нам оказывается нужен доступ к
этой самой табличке по индексу. Табличкой пусть пока побудет строчка букв в
одном из регистров. Чтение — операциями: b w g d
запись B W G D
размер элемента: 1 2 3 4 байта.
Обратим внимание: буквы латинские, но в порядке русского алфавита.
Выглядит так: bN и BN (N — цифра) Реализовано пока только для %r и только как
обращение к регистру. (BХ и bХ где Х — буква, было бы обращение к переменной
#Х с индексом... Может сделать? И для %R тоже...)
* * *
Недописано
Впрочем и сам Фокал — тоже
Далее планируется сделать наконец буферизацию вывода, включаемую в
операторе Type с помощью спецформата %%% после чего он будет писать не в канал
вывода а вот в этот свой буфер — до особого указания: Type ! после чего всё там
накопившееся разом... (Типа "транзакция".) А до того Ask %%% сможет этот буфер
перехватить и себе присвоить, превратив его в А2. (А если А2 был не пуст — всё
это соответственно теряется.) Но все функции с текстовым "побочным эффектом",
включая пресловутую FTMP (ради которой, честно говоря, всё это и затеяно)
продолжают писать не в канал вывода, а вот туда — тоже до особого распоряжения:
Ask ! Но и Type тоже сможет это перехватить... Вот только пока непонятно: это
будет один и тот же А2, или "дружба — дружбой, а табачок — врозь"? В смысле
если Type затеял вот это самое %%% то что будет делать Ask %% — перехватит у
него буфер или будет таки писать в свой А2 (до конца оператора)? И с другой
стороны Type %%% дописывает то, что в А2 или таки начинает "с чистого листа"
(пустого буфера)?... В общем тут думать надо, прикидывать — а что будет если
каналы ввода и вывода направлены на разные файлы, но одинаково требующие чтобы
чтение и запись происходили сразу порциями-транзакциями...
А пока — продолжение следует.
ред.2.00 от 22.4.25
Предыдущая глава |
↓ Содержание ↓
↑ Свернуть ↑
|