Оберон-клуб «ВЄДАsoft»

Твердыня модульных языков
Текущее время: 28 мар 2024, 23:40

Часовой пояс: UTC + 2 часа




Начать новую тему Ответить на тему  [ Сообщений: 3 ] 
Автор Сообщение
 Заголовок сообщения: мои контейнеры
СообщениеДобавлено: 31 дек 2018, 12:02 
Не в сети

Сообщения: 350
Посмотрел две библиотеки контейнеров, ни одна не устроила. Библиотека Петра не поддерживается и я не смог её собрать в последней обертоновской сборке, а библиотека Евгения мне не нравится по стилю (из контейнеров торчат особенности реализации). Плюс к тому, я избегал, избегаю и буду избегать наследования. Поэтому сделал кое-что своё - пока это только двусвязный список на базе постранично организованного массива. Управление страницами взял у Петра (оно там упрощённое, но пусть будет хоть так). В списке хранятся ANYPTR, контроль типов возлагается на пользователя.

Уже применил модульные тесты (см. другую тему здесь же). И, естественно, код на русском языке.

https://gitlab.com/budden/nkp/tree/master/k/Конт/Mod


Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: мои контейнеры
СообщениеДобавлено: 31 дек 2018, 16:30 
Не в сети

Сообщения: 203
budden писал(а):
И, естественно, код на русском языке.

https://gitlab.com/budden/nkp/tree/master/k/Конт/Mod
Хм. Даже стало интересно. Открыл код -- и что я увидел? Я увидел код на смеси русского и английского:
Код: "OBERON"
  1. PROCEDURE ДобавьСтраницЕслиНадо (сп: Список; будетДлина: INTEGER);
  2. VAR
  3. i, count: INTEGER;
  4. векторСтраниц: ВекторСтраниц;
  5. ш : INTEGER;
  6. BEGIN
  7. count := (будетДлина DIV размерСтраницы + 1);
  8. IF count > LEN(сп.векторСтраниц) THEN
  9. ш := шагРостаВектораСтраниц;
  10. NEW(векторСтраниц, count DIV ш * ш + ш);
  11. FOR i := 0 TO LEN(сп.векторСтраниц) - 1 DO векторСтраниц[i] := сп.векторСтраниц[i] END;
  12. сп.векторСтраниц := векторСтраниц END;
  13. FOR i := сп.используетсяСтраниц TO count - 1 DO NEW(сп.векторСтраниц[i], размерСтраницы) END;
  14. IF count > сп.используетсяСтраниц THEN сп.используетсяСтраниц := count END
  15. END ДобавьСтраницЕслиНадо;
  16.  
Есть же сборки блекбокса с русскоязычным синтаксисом, почему не возьмёшь их?


Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: мои контейнеры
СообщениеДобавлено: 01 янв 2019, 19:35 
Не в сети

Сообщения: 350
Перевод можно и потом сделать. Ключевых слов мало и они и так понятны. Зато этот код компилируется в любой другой сборке тоже. Главное - это предметная область.


Вернуться к началу
 Профиль  
Ответить с цитатой  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 3 ] 

Часовой пояс: UTC + 2 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 10


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Создано на основе phpBB® Forum Software © phpBB Group
© VEDAsoft Oberon Club