Как мне создать псевдоним строго типов в D? Что-то вроде:

alias euro = uint;
alias dollar = uint;

euro toEur(dollar pd) { ... }
dollar toDollar(euro pe) { ... }
4
Jeroen 9 Апр 2014 в 18:09

2 ответа

Лучший ответ

Строго типизированный псевдоним на самом деле является новым типом, поэтому просто используйте простую структуру:

struct euro {
     uint amount;
}

Если вы хотите, чтобы он неявно преобразовывал в uint и из uint, вы также можете добавить alias amount this;, но это ослабит типизацию, так что вам, возможно, не захочется.

3
Adam D. Ruppe 9 Апр 2014 в 14:13

Вам нужен Typedef, который в основном выполняет то, что предлагает Адам.

3
DejanLekic 9 Апр 2014 в 16:36