|
Alvin Seville
|
|||||||||||
Библиотека NETSquirrel для .NET и .NET Core01.11.2019, 12:49. Показов 6343. Ответов 14
Краткое описание NETSquirrel - идейное продолжение и обобщение системного модуля PABCSystem на платформы NET и NETCore. Её цель: сделать переход на другие .NET языки с PascalABC.NET и обратно наиболее безболезненным.Подробное описание Главная идея, заложенная в библиотеку - расширить привычный функционал модуля PABCSystem (точнее, его часть, поскольку PABCSystem также занимается системными задачами) до уровня всей платформы .NET (.NET Framework/.NET Core). NETSquirrel - продолжение начатого разработчиками PascalABC.NET модуля со своими добавлениями. Это позволит обеспечить наиболее безболезненный переход с PascalABC.NET на C# или другие .NET языки или в обратном направлении. Новое, что внесла библиотека - это:1. Множество интерфейсов, для написания коллекций и их immutable версий. 2. Новые утилитные методы, например, для чтения кортежей, массивов и матриц с возможностью одновременной обработки ошибок при неверном вводе. 3. Методы расширения для вывода и изменения кортежей, массивов, матриц и последовательностей. Библиотека широко использует паттерн null object, при реализации которого при неверных входных данных не бросается исключение, а возвращается объект-пустышка указанного типа. 4. Прокси-типы, которые позволяют указать как программист хочет чтобы пользователь видел некоторую коллекцию в отладчике Visual Studio или Rider. Полезные ссылки Официальный сайт (en)Организация проекта (en/ru) Документация (en) Примеры кода Группа поддержки (en/ru) Ссылки на темы из соседних разделов Тема в разделе PascalABC (ru)Тема в разделе PascalABC.NET (ru) Примеры кода
Генерация последовательностей:
Внимание: библиотека предоставляет высокоуровневый функционал, за что пользователю приходится в какой-то степени платить за это производительностью. Не используйте LINQ и подобный функционал библиотеки при нужде максимального быстродействия. Не злоупотребляйте большим количеством предоставляемых возможностей, нанося при этом вред производительности. Главное в проекте NETSquirrel
- Замечания и предложения - источник жизни библиотеки и её экосистемы, поскольку они позволяют отпалировывать неточности и улучшать проект.
- Аргументы и факты - именно на этом строятся обсуждения функционала NETSquirrel, эмоции - имеют место быть, но не могут служить поводом для добавления (изменения) новой (существующей) функциональности, если не подкрепляются чем-либо. - Уважение к пользователям - главный принцип общения с ними. Разработчики не должны посылать пользователя (даже вежливо) с каким-либо вопросом, если им лень с ним разбираться. - Мы не разбрасываемся пользователями - для нас все важны, какими бы придирчивыми они не были. - Открытость и доступность информации - главная причина уделения немалого количества времени к организационным вопросам (репозиторию и уведомлениям пользователей об изменениях).
0
|
|||||||||||
| 01.11.2019, 12:49 | |
|
Ответы с готовыми решениями:
14
Библиотека для управления запросами с поддержкой Socks4, Socks5 для .NET Новости .NET |
|
Alvin Seville
|
||||||||||||||||||||||
| 02.11.2019, 21:30 [ТС] | ||||||||||||||||||||||
|
Доступен NETSquirrel 0.0.25 [Night build].
Минимальные требования: - NETCore: 2.2 - NET: 4.5 Зависимости: - NuGet пакет System.ValueTuple 4.5.0 Улучшения: - Улучшения методов вывода - Математические расширения для IEnumerable<> - Исправление ReadStringMatrix Пример: C#
Visual Basic.NET
Managed C++
PascalABC.NET
Вывод:
0
|
||||||||||||||||||||||
|
Alvin Seville
|
|||||||||||||||||||||||||||||||
| 03.11.2019, 22:16 [ТС] | |||||||||||||||||||||||||||||||
|
Решение задачи через NETSquirrel 0.0.25:
Решение задачи через NETSquirrel 0.0.25:
Решение задачи через NETSquirrel 0.0.25:
- При вводе строки, вместо числа произойдёт падение программы. Решение: добавить try-catch. Решение задачи через NETSquirrel 0.0.25:
Решение задачи через NETSquirrel 0.0.25:
- При вводе строки, вместо числа произойдёт падение программы. Решение: добавить try-catch.
1
|
|||||||||||||||||||||||||||||||
|
Alvin Seville
|
|||||||||||||||||||||||||||||||
| 06.11.2019, 15:41 [ТС] | |||||||||||||||||||||||||||||||
|
Сравнение эффективности вывода матриц в NETSquirrel 0.0.25 [Night build] и PABCSystem:
Тестирование на C#
Тестирование на PascalABC.NET
Реализация вывода матриц в NETSquirrel
Реализация вывода матриц в PABCSystem
Результаты: NETSquirrel оказывается несколько медленнее в среднем, чем PABCSystem, но взамен при её использовании мы получаем большую гибкость и устойчивость вывода.
0
|
|||||||||||||||||||||||||||||||
|
Alvin Seville
|
|||||||||||||||||||||
| 22.11.2019, 11:55 [ТС] | |||||||||||||||||||||
|
Доступен NETSquirrel 0.0.30 [Night build].
Минимальные требования: - NETCore: 2.2 - NET: 4.5 Зависимости: - NuGet пакет System.ValueTuple 4.5.0 Улучшения: - ReadBoolMatrix c делегатом FuncExceptionHandler - ReadBoolArray c делегатом FuncExceptionHandler - расширения PrintBy/PrintLineBy/PrintLinesBy для IEnumerable<T> с селектором типа Func<T, int, TResult> - расширения Print/PrintLine/PrintLines для IEnumerable<T> с селектором типа Func<T, int, TResult> - расширения Print/PrintLine/PrintLines для IEnumerable<T> с селектором Пример: C#
Visual Basic.NET
Managed C++
PascalABC.NET
0
|
|||||||||||||||||||||
|
Alvin Seville
|
|||||||
| 23.11.2019, 12:46 [ТС] | |||||||
|
Решение задачи через NETSquirrel 0.0.30:
- При вводе строки, вместо числа (при указании количества элементов массива) произойдёт падение программы. Решение: добавить try-catch. - При вводе отрицательного количества элементов массива будет выброшено исключение. Решение: вынести считывание элементов массива в переменную и проверять введённое число на неотрицательность.
0
|
|||||||
|
Alvin Seville
|
||||||||||||||||
| 02.12.2019, 17:53 [ТС] | ||||||||||||||||
|
Доступен NETSquirrel 0.0.35 [Night build].
Минимальные требования: - NETCore: 2.2 - NET: 4.5 Зависимости: - NuGet пакет System.ValueTuple 4.5.0 Улучшения: - Расширения для кортежей для создания матриц - Расширения для int для создания массивов - Неявное преобразование int -> SliceSpan - Срезы для строк - Утилитные методы с FuncExceptionHandler для чтения кортежей с клавиатуры Пример: C#
Visual Basic.NET
PascalABC.NET
0
|
||||||||||||||||
|
Alvin Seville
|
|
| 23.12.2019, 15:39 [ТС] | |
|
Примеры для NETSquirrel 0.35 готовы на C# и PascalABC.NET.
0
|
|
|
14313 / 9393 / 1355
Регистрация: 21.01.2016
Сообщений: 35,424
|
||
| 24.12.2019, 06:19 | ||
|
1
|
||
|
Alvin Seville
|
|
| 24.12.2019, 08:30 [ТС] | |
|
Usaga, да, согласен. Хорошее предложение.
0
|
|
|
Alvin Seville
|
|
| 24.12.2019, 21:15 [ТС] | |
|
Начиная с NETSquirrel 0.40 проект переходит на NET Standard 2.0.
0
|
|
|
Alvin Seville
|
|
| 28.12.2019, 17:10 [ТС] | |
|
Специальные символы для управления условной компиляцией:
- IS_PASCALABCNET_COMPATIBLE - включает атрибуты к членам классов, позволяющих генераторам кода для PascalABC.NET выбирать наиболее подходящие названия для методов и свойств. - UTILS_WITH_EXCEPTION_HANDLER_SUPPORT_ARE _ENABLED - включает поддержку утилитных методов с обработкой исключений.
0
|
|
|
Администратор
|
||
| 02.01.2020, 20:47 | ||
|
1
|
||
|
Alvin Seville
|
|
| 02.01.2020, 23:04 [ТС] | |
|
OwenGlendower, пользователям - да, не нужны. Разработчикам - могут понадобится, чтобы получать специфические сборки, заточенные под их нужны.
Добавлено через 2 минуты Старый функционал NETSquirrel перенесён в библиотеку NETSquirrelBC.
0
|
|
|
Alvin Seville
|
|
| 03.02.2020, 05:05 [ТС] | |
|
Теперь пользователи могут оставлять отзывы мне в Яндекс-форме, а получать ответ с NETMouseProjects@yandex.ru, поскольку все данные форм автоматически отправляются на данную почту. Название Вашей OC и её версия передаются мне автоматически - вручную указывать не надо.
0
|
|
| 03.02.2020, 05:05 | |
|
Помогаю со студенческими работами здесь
15
Сложности с .NET Core Почему нет раздела (подраздела) ASP.Net Core? Меня одного удивляет отсутствие здесь раздела .NET Core ? Как указать VS.NET какой из установленный .NET Framewrok SDK использовать Как установить .NET приложение, но без установки самого .NET Framework? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер
Написал заготовку:
dotnet new console --aot -o UrlHandler
var items = args. Split(":");
var tag = items;
var id = items;
var executable = args;. . .
|
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной. . .
|
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений.
9TO2GP2bpX4
a42b81fb172ffc12ca589c7898261ccb/
https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/
Слева синяя линия -. . .
|
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. .
Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
|
|
SDL3 для Desktop (MinGW): Вывод текста со шрифтом TTF с помощью библиотеки SDL3_ttf на Си и C++
8Observer8 24.03.2026
Содержание блога
Финальные проекты на Си и на C++:
finish-text-sdl3-c. zip
finish-text-sdl3-cpp. zip
|
Жизнь в неопределённости
kumehtar 23.03.2026
Жизнь — это постоянное существование в неопределённости. Например, даже если у тебя есть список дел, невозможно дойти до точки, где всё окончательно завершено и больше ничего не осталось. В принципе,. . .
|
Модель здравоСохранения: работники работают быстрее после её введения.
anaschu 23.03.2026
geJalZw1fLo
Корпорация до введения программа здравоохранения имела много невыполненных работниками заданий, после введения программы количество заданий выросло.
Но на выплатах по больничным это. . .
|
Контроль уникальности заводского номера
Maks 23.03.2026
Алгоритм контроля уникальности заводского (или серийного) номера на примере нетипового документа выдачи шин для спецтехники с табличной частью, разработанного в конфигурации КА2.
Номеклатура. . .
|