Недавно я наткнулся на язык программирования D, и мне это очень нравится. Вы можете программировать действительно высокий уровень, имея полный доступ к аппаратным средствам, например, в C.
исходя из довольно функционального фона (Haskell, scala) Я ищу способ сопоставления шаблонов в D, но я ничего не нашел на http://www.digitalmars.com/d/. В сопоставлении шаблонов Haskell поддерживается сам язык. В Scala это достигается классами или экстракторами (обычными объектами с методом unapply).
Можно ли это сделать в D?
метод приема в std.concurrency, который используется для concurrency в стиле актера, например, в erlang и Scala, принимает на себя кучу функций и паттернов. Но я думаю, что это не так гибко, как на других языках. Можете ли вы использовать охранников? Можете ли вы извлечь содержимое объекта, как это возможно в Scala?