История изменений
Исправление zinfandel, (текущая версия) :
А как будут выглядеть объявления всех этих MyLetter. Что-бы был полный рабочий код (как в моих примерах).
Не нравится мне идея заводить отдельный класс, спец функцию getName() под этот класс, и кучу инстасов этого класса просто для того что-бы паттерн-матчить аргумент. Я не понимаю, чем эта буква на основе которой мы решаем что делать отличается от обычной буквы настолько чтобы заслужить отдельного представления/типа/класса ? А если мы пишем какой-нибудь парсер и у нас в одном файле будет под пол-сотни таких ветвлений. На каждое заводить отдельный MyLetter?
Исходная версия zinfandel, :
А как будут выглядеть объявления всех этих MyLetter. Что-бы был полный рабочий код (как в моих примерах). Не нравится мне идея заводить отдельный класс, спец функцию getName() под этот класс, и кучу инстасов этого класса просто для того что-бы паттерн-матчить аргумент. Я не понимаю, чем эта буква на основе которой мы решаем что делать отличается от обычной буквы настолько чтобы заслужить отдельного представления/типа/класса ? А если мы пишем какой-нибудь парсер и у нас в одном файле будет под пол-сотни таких ветвлений. На каждое заводить отдельный MyLetter?