Форум программистов, компьютерный форум, киберфорум
PascalABC.NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.88/8: Рейтинг темы: голосов - 8, средняя оценка - 4.88
Alvin Seville
 Аватар для Соколиный глаз
343 / 273 / 134
Регистрация: 25.07.2014
Сообщений: 4,537
Записей в блоге: 22

Классы типов [Тестирование]

15.08.2018, 10:58. Показов 1604. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Решил сам проверить поведение компилятора с typeclass'ами.

Взял отсюда код:
Pascal
1
2
3
4
5
6
7
8
9
type
  tc1[T]=typeclass end;
  
  tc1[integer]=instance
    function f1: integer := 1;
  end;
 
begin
end.
, попытался откомпилировать и:
Program2.pas(2) : Встречено '[', а ожидалось '='
, вместо ожидаемого:
Program1.pas(5) : Нет метода для переопределения
Посмотрел также поведение компилятора на других Issue из серии typeclass'ы, и создалось впечатление, что PascalABC.Net и знать не знает что такое typeclass'ы. Тестировал в версии 3.4, сборка 1744. В общем, вопрос: у кого как реагирует компилятор на Issue из этой серии?
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
15.08.2018, 10:58
Ответы с готовыми решениями:

Определить классы абстрактного выражения и классы для различных типов выражений
помогите Реализовать объектно-ориентированную модель, определяет математическое выражение, представлен в виде дерева. Определить классы...

Тестирование закрытых методов через разделяемые классы
Я - большой любитель тестирования непубличных методов. Связано это с тем, что обычно публичных методов у меня немного и работают они через...

Приведение типов (классы)
class B { virtual void f() {} }; class V { virtual void g() {} }; class X { };

4
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33399 / 21509 / 8236
Регистрация: 22.10.2011
Сообщений: 36,907
Записей в блоге: 12
15.08.2018, 11:53
Цитата Сообщение от Соколиный глаз Посмотреть сообщение
Взял отсюда код
"Отсюда" - это откуда? Ссылка где?
0
Alvin Seville
 Аватар для Соколиный глаз
343 / 273 / 134
Регистрация: 25.07.2014
Сообщений: 4,537
Записей в блоге: 22
15.08.2018, 12:01  [ТС]
volvo, вот.
0
Alvin Seville
 Аватар для Соколиный глаз
343 / 273 / 134
Регистрация: 25.07.2014
Сообщений: 4,537
Записей в блоге: 22
17.08.2018, 04:22  [ТС]
Классы типов убраны из Release (зачем делали - непонятно, количество багов не позволяет продолжать улучшать, видимо ).
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33399 / 21509 / 8236
Регистрация: 22.10.2011
Сообщений: 36,907
Записей в блоге: 12
17.08.2018, 08:59
Лучший ответ Сообщение было отмечено Joy как решение

Решение

Цитата Сообщение от Соколиный глаз Посмотреть сообщение
зачем делали - непонятно
Я больше скажу: зачем они вообще нужны - непонятно.

Кто-нибудь может мне привести нормальный пример, в котором видно достоинство этой фичи? Только не надо меня отсылать к Scala-подобным языкам, я их не знаю. И да, ту статью, про бедных лающих собак и мяукающих котов, которая вылазит в гугле при поиске о тайпклассах, я тоже читал. И так и не понял смысла введения фичи. Какое-то нагромождение ключевых слов, не более того.

Можно по-простому? "Вот есть задача. Сейчас она решается вот так <...>, а если бы были тайпклассы - то можно было бы записать вот так вот <...>, и программа бы стала в разы короче". В таком стиле... Желательно - синтаксисом Паскаля/С++, а не всякой функциональщины, там у них без пол-литры и так-то не разберешься что к чему, а еще с новыми фичами - вообще заклинания какие-то.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
17.08.2018, 08:59
Помогаю со студенческими работами здесь

Стандартные классы типов
Имея функцию ip = show a ++ show b ++ show c ++ show d определите значения a, b, c, d так, чтобы добиться следующего поведения: GHCi&gt;...

Шаблонные классы. Присвоение к указателю и приведение типов
Добрый вечер, ув. форум, есть к вам вопрос. Есть род. абстрактный класс: ParentAbstact Есть два наследника: ChildOne : public...

Базовый класс с виртуальными методами и классы наследники. Динамическое приведение типов
Доброго времени суток. Помогите указать на ошибки и, по возможности, исправить) Необходимо создать базовый класс Array с виртуальными...

Используя производные классы, определить класс параметризованного списка одного из следующих типов. Применить его для построения списка объектов указа
Используя производные классы, определить класс параметризованного упорядоченного списка. Применить его для построения упорядоченного...

Unit -тестирование или автоматизированное тестирование
Доброго времени суток. Я программирую «для себя» второй год, на выходе получаются разного рода приложения от постоянно подающих с...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru