Во время кодирования в Ruby я до сих пор не особо упускал ориентированность на тип Java или C ++, но в некоторых случаях я думаю, что они полезны. Для Python был проект PyProtocols , который определял интерфейсы и протоколы для объектов. Существует ли подобная инициатива для Ruby? Я хотел бы иметь возможность объявить ожидаемые параметры для некоторых методов для некоторых объектов (для всего кода я считаю такие бесполезными). Если метод во время выполнения получает неожиданный ввод, он пытается адаптировать его или, если не может, он генерирует исключение.
Существует ли что-то подобное для Ruby? Представление типов для языка без типов, такого как Ruby, может показаться странным, но я думаю, что типы иногда полезны. Спасибо за помощь.