Обсуждение:Extra. Полезные библиотеки на RSL.

5 (2)
  • Развернуть Обсуждение:Extra. Полезные библиотеки на RSL. ( Обсуждение примера  29.04.2019 09:24 )
    5(1)
    В состав библиотеки входит:

    - Библиотека коллекций для RSL (Lists, Maps, Sets)
    - StreamApi (ленивые цепочки вычислений)
    - Лямбда-функции (динамическая генерация функций из строк)
    - RUnit (юнит-тестирование)
    - LogR (логирование)
    - StringUtils (утилиты для работы со строками)
    - TimeUtils (утилиты для работы с датой/временем, парсинг/форматирование даты из/в строку по шаблону)
    - SArray (расширение стандартного класса TArray) обновленный с раздачи (https://isupport.softlab.ru/portal/samples/sample.asp?Typ=7&id=496)
    - SimpleMenu (Реализация скроллинга на базе Menu).

    Большинство интерфейсов классов было взято из Java (немного из Kotlin и JS).
    Позволяет писать код в ООП и функциональном стилях.
    Избавляет от необходимости использовать временные таблицы.
    Ускоряет как написание кода, так и время его исполнения (но поджирает ОЗУ).
    Весь код написан исключительно на RSL (без dlm), а значит не требует регистрации и прост в отладке.
    Ключевые моменты протестированы.
    Документация в комплекте.

    Установка:
    Папку extra закидываем целиком в директорию "../mac/".

    Документация онлайн (через современный браузер):
    https://rslextra.github.io/

    Репозиторий библиотеки на Github:
    https://github.com/RslExtra/Extra

    Репозиторий документации:
    https://github.com/RslExtra/RslExtra.github.io

    P.S Рефакторинг и тесты дописывались на RS-Forms.
    Поэтому если кому не сложно, запустите тесты в файле "/_Tests/UT_RunAllTest.mac" и напишите, все ок или нет.
    Посмотреть пример
    >> Ответить
    • Развернуть версия? ( MirnyiAtom  17.05.2019 16:03 )
      0(0)
      Коллеги, это для какой версии РС?
      >> Ответить
      • Развернуть под 5.5 должна работать ( Marik  20.05.2019 09:38 )
        0(0)
        Библиотека изначально писалась под 5.5. Но судя по документации, в 6 используется тот же RSL. Единственные зависимости окружения это (bankinter, rcw, rsexts). Как с ними в 6ке я, к сожалению, не знаю.
        >> Ответить
    • Развернуть Круто! ( techmaster  02.08.2019 14:01 )
      0(0)
      Интересная библиотека. Посмотрел, позапускал примеры. Вот уже 10 лет, как я прекратил заниматься RSL-ем. Потрясающе, но он продолжает развиваться благодаря таким энтузиастам! Ещё раз убеждаюсь, что талантливый человек может сделать шедевр из чего угодно. Очень здорово!
      >> Ответить
    • Развернуть В языке RSL можно объявлять только одномерные массивы? ( dadgoff  08.10.2019 12:49 )
      0(0)
      https://rslextra.github.io/packages/arrays/index.html
      >> Ответить
      • Развернуть Да ( Marik  08.10.2019 13:58 )
        0(0)
        Да. Это цитата из официальной документации. Раздел "Определение массивов"
        >> Ответить
        • Развернуть не понял ( Sergey V. Mamaev  29.10.2019 06:07 )
          0(0)
          не понял. а что мешает делать так?
          var a=tarray;
          a[0]=tarray;
          a[0][0]=100500;
          msgbox(a[0,0]); // обращаться можно и так
          >> Ответить
          • Развернуть Это вложенный массив ( Marik  29.10.2019 06:19 )
            0(0)
            Сделать то можно, но это одномерные массивы вложенные в одномерный массив. Не инициализированные и с объектным оверхедом по памяти, если сделать a[1,0] схватим NPE.
            Конечно можно сделать двумерный массив на базе одномерного с фиксированной шириной(аля как в VBA), но это будет собственная реализация.
            >> Ответить