Ключевые слова, eDSL в Nemerle
Почему этих конструкции 3. Это выглядит странно, но язык не позволяет определить конструкции if с необязательным else. Таким образом имеем три вариации:
- if( predicate ) true_expression else false_expression
- when( predicate ) true_expression
- uness( predicate ) false_expression
На данный момент для "моей" конструкции условия с else-частью использую: fi( predicate ) true_expression else false_expression. Для when и unless ничего ласкающего слух не придумал...
З.Ы. Есть мысли всетаки сделать экранирующие конструкции, только придется изучать вычисленный тип "предиката" и в зависимости от этого подставлять или свою логику, или классические конструкции. Система программирования позволяет делать такие финты, правда для этого у меня маловато опыта.
А "венгерская нотация" типа myif ( predicate ) true_expression else false_expression не прокатит? Ну или hcif.
Цитата: Sanila_san
А "венгерская нотация" типа myif ( predicate ) true_expression else false_expression не прокатит? Ну или hcif.
Не слишком весело выглядит.
Для when использовал такую штуку:
when true ( predicate ) true_expression
а для unless:
when false ( predicate ) false_expression
Во всяком случае понятно, чего происходит.