尼姆 如何继承不同类型的所有操作?

主神

假设,我type Radians = distinct floattype Degrees = distinct float
这不是让我使用可用的花车所有操作,甚至是最基本的算术+-*
有没有什么办法来排序“继承”所有的人都和使用distinct只为编译时检查?

你好

有关完整示例,请查看nim手册上“区别类型”中的建模货币”部分。

综上所述:

使用借用杂注

proc `*` (x: int, y: Dollar): Dollar {.borrow.}
proc `div` (x: Dollar, y: int): Dollar {.borrow.}

使用模板减少样板

template multiplicative(typ, base: typedesc) =
  proc `*` *(x: typ, y: base): typ {.borrow.}
  proc `*` *(x: base, y: typ): typ {.borrow.}
  proc `div` *(x: typ, y: base): typ {.borrow.}
  proc `mod` *(x: typ, y: base): typ {.borrow.}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

尼姆:如何遍历一个切片?

来自分类Dev

尼姆:如何动态定义可以向前或向后的切片?

来自分类Dev

尼姆朗中的哈希

来自分类Dev

拉姆达黑魔法采取不同类型

来自分类Dev

达夫尼:有禁忌的类型

来自分类Dev

乔姆斯基语言:如何识别它们?

来自分类Dev

乔姆斯基语言:如何识别它们?

来自分类Dev

什么是格洛姆?它与mapPartitions有何不同?

来自分类Dev

Java的。数组类型有望在拉姆达

来自分类Dev

将具有不同类型且继承相同类的对象存储在容器中

来自分类Dev

如何在MATLAB中从两种不同类型的目录加载所有文件

来自分类Dev

如何在MATLAB中从两种不同类型的目录中加载所有文件

来自分类Dev

姆克特(Mqtt):有必要退订吗?

来自分类Dev

java的拉姆达 - 如何遍历自选的可选列表/流

来自分类Dev

如何用java拉姆达改写ValueMapper功能

来自分类Dev

格林姆林:当顶点相似时,如何合并顶点组

来自分类Dev

该解决方案有什么问题?(彼尔姆-缺少-埃勒姆性度检验)

来自分类Dev

如何合并两个扩展/继承相同类型的不同数组类型?

来自分类Dev

如何仅保存没有格林尼治标准时间的时区?

来自分类Dev

如何为具有不同类型的XML创建架构

来自分类Dev

如何显示具有不同类型的集成图像

来自分类Dev

如何对具有不同类型的RecyclerView元素进行排序?

来自分类Dev

如何在报告(.rdlc)中有不同类型的变量

来自分类Dev

如何按升序整数数组,只有在Java中使用拉姆达降序

来自分类Dev

AngularJS处理不同类型的DOM操作

来自分类Dev

在Coq中继承不同类型的类型类

来自分类Dev

SilverStripe可以完成哪些不同类型的“冲洗”操作,它们有何不同?

来自分类Dev

JavaScript有没有办法停止href =“#”刷新页面?尼罗莫代尔

来自分类Dev

是否有基于二空间/切尼算法的现代垃圾收集?

Related 相关文章

  1. 1

    尼姆:如何遍历一个切片?

  2. 2

    尼姆:如何动态定义可以向前或向后的切片?

  3. 3

    尼姆朗中的哈希

  4. 4

    拉姆达黑魔法采取不同类型

  5. 5

    达夫尼:有禁忌的类型

  6. 6

    乔姆斯基语言:如何识别它们?

  7. 7

    乔姆斯基语言:如何识别它们?

  8. 8

    什么是格洛姆?它与mapPartitions有何不同?

  9. 9

    Java的。数组类型有望在拉姆达

  10. 10

    将具有不同类型且继承相同类的对象存储在容器中

  11. 11

    如何在MATLAB中从两种不同类型的目录加载所有文件

  12. 12

    如何在MATLAB中从两种不同类型的目录中加载所有文件

  13. 13

    姆克特(Mqtt):有必要退订吗?

  14. 14

    java的拉姆达 - 如何遍历自选的可选列表/流

  15. 15

    如何用java拉姆达改写ValueMapper功能

  16. 16

    格林姆林:当顶点相似时,如何合并顶点组

  17. 17

    该解决方案有什么问题?(彼尔姆-缺少-埃勒姆性度检验)

  18. 18

    如何合并两个扩展/继承相同类型的不同数组类型?

  19. 19

    如何仅保存没有格林尼治标准时间的时区?

  20. 20

    如何为具有不同类型的XML创建架构

  21. 21

    如何显示具有不同类型的集成图像

  22. 22

    如何对具有不同类型的RecyclerView元素进行排序?

  23. 23

    如何在报告(.rdlc)中有不同类型的变量

  24. 24

    如何按升序整数数组,只有在Java中使用拉姆达降序

  25. 25

    AngularJS处理不同类型的DOM操作

  26. 26

    在Coq中继承不同类型的类型类

  27. 27

    SilverStripe可以完成哪些不同类型的“冲洗”操作,它们有何不同?

  28. 28

    JavaScript有没有办法停止href =“#”刷新页面?尼罗莫代尔

  29. 29

    是否有基于二空间/切尼算法的现代垃圾收集?

热门标签

归档