|
Alvin Seville
|
|||||||||||
Библиотека NETSquirrel для .NET и .NET Core19.09.2019, 16:06. Показов 36936. Ответов 39
NETSquirrel - идейное продолжение и обобщение PABCSystem на платформы NET и NETCore. Её цель: сделать переход на другие .NET языки с PascalABC.NET и обратно наиболее безболезненным. Для PascalABC.NET сделан отдельный модуль NETSquirrelExtensions, адаптирующий в некоторой степени библиотеку под стиль 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. Поддерживается как англоязычная, так и русскоязычная аудитория. Для ошибок в презентациях и на сайте созданы отдельные репозитории на GitHub. Примеры кода:
Кликните здесь для просмотра всего текста
Поддержка англоязычной аудитории обусловлена стимулом изучать английский и практиковать себя в нём.
Замечания и предложения по улучшению библиотеки - приветствуются.
0
|
|||||||||||
| 19.09.2019, 16:06 | |
|
Ответы с готовыми решениями:
39
Установится ли PascalABC.NET на систему, где установлен только .NET 4.6.1? Модуль для PascalABC.NET Есть ли PascalABC.NET для Mac OS X? |
|
Alvin Seville
|
||||||
| 19.10.2019, 12:46 [ТС] | ||||||
|
Новый шаблон кода для NETSquirrel:
0
|
||||||
|
Alvin Seville
|
|
| 20.10.2019, 14:14 [ТС] | |
|
Набор сниппетов для PascalABC.NET, адаптированный под NETSquirrel. Список:
- block - region - if, ifelse - for, forr - foreach - procedure, function - library, unit - prop, propget, propset, aprop - netsquirrel - ComparerOf, EqualityComparerOf, ArrayOf, DictionaryOf, HashSetOf, KeyValuePairOf, LinkedListOf, LinkedListNodeOf, ListOf, SortedDictionaryOf, SortedListOf, SortedSetOf, QueueOf, StackOf [для GeneralExtensions] - ValueTupleOf [для TuplesExtensions] - ReadComplex, ReadVector2, ReadVector3, ReadVector4, ReadMatrix3x2, ReadMatrix4x4 [для NumericsExtensions] - сниппеты для пространства имён NETSquirrel.Utils, представляющие собой имена соответствующих методов (пример: GenerateArray) Вначале располагаются общие сниппеты, после - для расширений NETSquirrel на PascalABC.NET, последние - для оригинальной NETSquirrel. Пароль к архиву: 123.
0
|
|
|
Alvin Seville
|
|
| 21.10.2019, 08:25 [ТС] | |
|
Добавлены сниппеты для PascalABC.NET:
- trye, tryf - class, record, interface - propget переименован в propg, propset переименован в props - lock - loop, while, repeat Пароль к архиву: 123.
0
|
|
|
Alvin Seville
|
||||||
| 21.10.2019, 14:11 [ТС] | ||||||
|
Создан репозиторий для сниппетов PascalABC.NET.
Добавлено через 1 час 9 минут Обновлён пакет сниппетов для PascalABC.NET до версии v0.0.17.2-6. Добавлены сниппеты: - для методов класса NETSquirrel.Extensions.ObjectExtensions - для всех директив компилятора - для методов класса NETSquirrel.Extensions.BaseTypesExtensio ns - для методов класса NETSquirrel.Extensions.TuplesExtensions - для автоклассов - aclass Скачать Пример использования: 1) Набор ifdefelse. 2) Нажатие Shift+Space. 3) Результат:
0
|
||||||
|
Alvin Seville
|
|
| 22.10.2019, 10:43 [ТС] | |
|
Обновлён пакет сниппетов для PascalABC.NET до версии v0.0.17.2-10. Добавлены сниппеты:
- case, match - indexer, indexerg, indexers - для методов-расширения класса NETSquirrel.Extensions.MatricesExtension s - для методов-расширения класса NETSquirrel.Extensions.IEnumerableExtens ions Скачать
0
|
|
|
Alvin Seville
|
|
| 22.10.2019, 16:50 [ТС] | |
|
Планируется разработка следующих учебных модулей-ответвлений проекта:
- GraphicsABC - аналога GraphABC, но для всего NET - ObjectsABC - аналога ABCObjects, но для всего NET
0
|
|
|
Alvin Seville
|
||
| 23.10.2019, 20:40 [ТС] | ||
|
Заметка о производительности:
0
|
||
|
Alvin Seville
|
|
| 24.10.2019, 15:44 [ТС] | |
|
Создан опрос, посвящённый сниппетам для PascalABC.NET.
0
|
|
|
Alvin Seville
|
|
| 27.10.2019, 14:08 [ТС] | |
|
Развитие модулей-прослоек между PascalABC.NET и NETSquirrel скоро завершится, что означает, что будут приниматься лишь отчёты об ошибках. Все улучшения будут проводиться в самой библиотеке. Для удобной возможности обновить все .dll файлы, лежащие рядом с модулями, будет поставляться Updater.
Добавлено через 40 минут Опубликован NETSquirrelExtensions 8.0 (последняя версия): - Добавлены примеры и структурированы по папкам с применением uses in. - Убраны implicit операторы для последовательностей. - Убраны логические операции над последовательностями. - Модуль NETSquirrelExtensions убран.
0
|
|
|
Alvin Seville
|
||||||
| 27.10.2019, 16:44 [ТС] | ||||||
|
Обновлён пакет сниппетов для PascalABC.NET до версии v0.0.17.2-15. Добавлены сниппеты:
- for2, for3 - if2, if2else, if3, if3else, ..., if7, if7else - lamda2, lambda3, ..., lambda7 - для Linq Изменено: - убраны запятые в скобках для параметров Пример: for3 разворачивается в:
0
|
||||||
|
Alvin Seville
|
||||||
| 27.10.2019, 18:33 [ТС] | ||||||
|
Обновлён пакет сниппетов для PascalABC.NET до версии v0.0.17.2-20 (последняя версия). Добавлены сниппеты:
- usesin - для методов расширения - для операторов расширения - для операторов - namespace Пример: functionoperator развернётся в:
0
|
||||||
|
Alvin Seville
|
|
| 01.11.2019, 09:06 [ТС] | |
|
Данная тема больше не поддерживается в том смысле, что об обновлениях здесь сообщаться не будет. Актуальная тема - в разделе .NET.
0
|
|
|
Alvin Seville
|
|
| 18.12.2019, 00:21 [ТС] | |
|
Тема, касающаяся набора команды тестировщиков PascalABC.NET для повышения удобства пользования библиотекой в данном языке.
0
|
|
|
Alvin Seville
|
|
| 20.12.2019, 14:24 [ТС] | |
|
Доступна Demo-версия примеров использования библиотеки NETSquirrel 0.35 на PascalABC.NET.
0
|
|
|
Alvin Seville
|
|
| 23.12.2019, 15:39 [ТС] | |
|
Примеры для NETSquirrel 0.35 готовы на C# и PascalABC.NET.
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
|
|
|
Alvin Seville
|
|
| 03.01.2020, 00:41 [ТС] | |
|
Старый функционал NETSquirrel перенесён в библиотеку NETSquirrelBC.
Добавлено через 1 час 37 минут Презентация PABCSystem in PascalABC.NET 3.5.1.2277 vs NETSquirrel 0.40 готова. Просьба участникам форума перепроверить материал презентации и указать ошибки, сделать замечания, предложить улучшения перед её окончательной публикацией на сайте NETSquirrel.
0
|
|
|
Alvin Seville
|
|
| 06.01.2020, 04:46 [ТС] | |
|
Требуется разработать плагин для работы с unit-тестами в PascalABC.NET. Образец - Rider/Visual Studio. Откликнувшимся заранее спасибо. Соглашаясь на разработку Вы автоматически становитесь членом команды разработки проекта и получаете права модератора в группе поддержки.
Данный плагин планируется использовать при разработке и тестировании расширений NETSquirrel под PascalABC.NET.
0
|
|
|
Alvin Seville
|
|
| 03.02.2020, 05:03 [ТС] | |
|
Теперь пользователи могут оставлять отзывы мне в Яндекс-форме, а получать ответ с NETMouseProjects@yandex.ru, поскольку все данные форм автоматически отправляются на данную почту. Название Вашей OC и её версия передаются мне автоматически - вручную указывать не надо.
0
|
|
| 03.02.2020, 05:03 | |
|
Помогаю со студенческими работами здесь
40
Процедура GetMem для PascalABC.NET
Исправить код для PascalABC.net Полезные коды для PascalABC.NET Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
[golang] Алгоритм «Хак Госпера»
alhaos 17.05.2026
Алгоритм «Хак Госпера»
Хак Госпера (Gosper's Hack) — алгоритм нахождения следующего по величине числа с тем же количеством установленных бит.
Придуман Биллом Госпером в 1970-х, опубликован в. . .
|
Рисование бинарного древа до 6-го колена на js, svg.
russiannick 17.05.2026
<svg width="335" height="240" viewBox="0 0 335 240" fill="#e5e1bb">
<style>
<!]>
</ style>
<g id="bush">
</ g>
</ svg>
function fn(){
let rost;/ / высота древа
let xx=165,yy=210,w=256;
|
FSharp: interface of module
DevAlt 16.05.2026
Интерфейс модуля F# позволяет управлять доступностью членов,
содержащихся в реализации модуля. По-умолчанию все члены модуля доступны:
module Foo
let x = 10
let boo () = printfn "boo"
. . .
|
Хитросплетение родственных связей пантеона греческих богов.
russiannick 14.05.2026
Однооконник, позволяющий узреть и изучить отдельных героев древней Греции.
<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible". . .
|
|
[golang] Угол между стрелками часов
alhaos 12.05.2026
По заданным значениям часа и минуты необходимо определить значение меньшего угла между стрелками аналогового циферблата часов.
import "math"
func angleClock(hour int, minutes int) float64 {
. . .
|
Debian 13: Установка Lazarus QT5
ВитГо 09.05.2026
Эта инструкция моя компиляция инструкций volvo
https:/ / www. cyberforum. ru/ blogs/ 203668/ 10753. html
и его же старой инструкции по установке Lazarus с gtk2. . .
|
Нейросеть на алгоритме "эстафета хвоста" как перспектива.
Hrethgir 06.05.2026
На десерт, когда запущу сервер.
Статья тут https:/ / habr. com/ ru/ articles/ 1030914/ . Автор я сам, нейросеть только помогает в вопросах которые мне не известны - не знаю людей которые знали-бы. . .
|
Асинхронный приём данных из COM-порта
Argus19 01.05.2026
Асинхронный приём данных из COM-порта
Купил на aliexpress термопринтер QR701. Он оказался странным. Поключил к Arduino Nano. Был очень удивлён. Наотрез отказывается печатать русские буквы. Чтобы. . .
|