Обобщённая функция

Один код для чисел разных типов.

Код

// Обобщённая функция — один и тот же код работает для разных типов.
// Тип нужно указывать явно при вызове (макс_из_двух<целое>(...)),
// вывод типа из аргументов пока не реализован.

функция макс_из_двух из Т (Т а, Т б): Т
    если (а больше б)
        вернуть а;
    конец
    вернуть б;
конец

функция главная(): целое
    целое итог_целое = макс_из_двух из целое(3, 7);
    вывести("макс(3, 7) = " + целое_в_текст(итог_целое));

    дробное итог_дробное = макс_из_двух из дробное(2.5, 1.5);
    вывести("макс(2.5, 1.5) = " + дробное_в_текст(итог_дробное));

    вернуть 0;
конец

Как запустить

Сохраните код в файл, например обобщённые_функции.код, и выполните:

запустить обобщённые_функции.код

Как это работает

  • функция макс_из_двух из Т (...) объявляет параметр-тип Т.
  • При вызове тип пишется после из: макс_из_двух из целого(3, 7).
  • Один и тот же код работает и для целое, и для дробное.

Исходник лежит в репозитории: examples/обобщённые_функции.код.