Scala中两个标签中最不常见的TypeTag?

拉洛·都柏林

Scala的TypeTag相对易于比较和捕获-但是Scala是否提供任何可作用于2个标签的合成功能?例如,我以一种非常通用的方式使用标签(这意味着类型T消失了)。我可以要求Scala为我提供最小公母的TypeTag吗?这似乎是合乎逻辑的,因为编译器和各种编辑器IDE可以轻松做到这一点并显示公共父级。例子:

Class A
Class B extends A
class C extends A

val tagB:TypeTag[_] =  implicitly[TypeTag[B]]
val tagC:TypeTag[_] =  implicitly[TypeTag[C]]

val res:TypeTag[_] = lcmFunction(tagB,tagC)  //not a real function name .. example only

res  // yields a TypeTag such that res.tpe =:= TypeTag[A].tpe
迈克尔·扎亚克(Michael Zajac)

上有一种lub方法Universe,该方法将计算类型列表的最小上限。

class A
class B extends A
class C extends A
class D extends C
class E extends C
class F extends E

import scala.reflect.runtime.universe._

val a = typeTag[A]
val b = typeTag[B]
val c = typeTag[C]
val d = typeTag[D]
val e = typeTag[E]
val f = typeTag[F]

scala> lub(List(b.tpe, c.tpe))
res17: reflect.runtime.universe.Type = A

scala> lub(List(b.tpe, c.tpe)) =:= a.tpe
res18: Boolean = true

scala> lub(List(e.tpe, f.tpe))
res19: reflect.runtime.universe.Type = E

scala> lub(List(c.tpe, d.tpe, f.tpe))
res21: reflect.runtime.universe.Type = C

从结果中创建TypeTag出一个结果Type似乎有些棘手,但是可以从此答案中看到

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

从mysql中的两个表中查找不常见的数据

来自分类Dev

从Counter中删除最不常见的元素

来自分类Dev

从Counter中删除最不常见的元素

来自分类Dev

删除两个文件中不常见的行,但保持文件结构

来自分类Dev

如何从两个不同对象列表中获取不常见对象

来自分类Dev

如何仅使用OSX中的终端命令从两个文件中查找不常见的单词?

来自分类Dev

在Java中从两个不同的数组列表对象中找到不常见的通用所有元素

来自分类Dev

如何从两个文件中提取不常见的不区分大小写的文本?

来自分类Dev

比较两个array-list元素并获得不常见的元素

来自分类Dev

在两个表之间选择不常见的记录 - mysql

来自分类Dev

如何找到两个大型数据帧之间不常见的日期时间

来自分类Dev

这个最不常见的祖先算法怎么了?

来自分类Dev

在编译时确定最不常见的祖先

来自分类Dev

从枚举中选择最不常见的项目

来自分类Dev

如何使用Shell脚本在两个文本文件之间找到不常见的行?

来自分类Dev

给定一个颜色对象列表,找到最/最不常见的颜色,并将其作为颜色对象返回

来自分类Dev

从最常见到最不常见的列排序,忽略重复项

来自分类Dev

在两个PowerShell数组中查找常见项目

来自分类Dev

按常见Lisp中的两个属性排序

来自分类Dev

使用 PHP 比较两个数组并将不常见的字符串存储在新数组中

来自分类Dev

比较两个数组并在 SWIFT 3 中找到不常见元素的索引

来自分类Dev

列表中不常见的输出元素

来自分类Dev

在SQL中查找不常见的用户

来自分类Dev

C ++中不常见的FOR语句形式

来自分类Dev

合并两个熊猫数据框,其中一个日期不常见,应该在最近的日期之前合并

来自分类Dev

合并两个熊猫数据框,其中一个日期不常见,应在最近的日期之前合并

来自分类Dev

如何计算最不常见祖先算法的时间复杂度?

来自分类Dev

无法让我的 for 循环从我的哈希图中给我最不常见的字母

来自分类Dev

文件中最不常用的词

Related 相关文章

  1. 1

    从mysql中的两个表中查找不常见的数据

  2. 2

    从Counter中删除最不常见的元素

  3. 3

    从Counter中删除最不常见的元素

  4. 4

    删除两个文件中不常见的行,但保持文件结构

  5. 5

    如何从两个不同对象列表中获取不常见对象

  6. 6

    如何仅使用OSX中的终端命令从两个文件中查找不常见的单词?

  7. 7

    在Java中从两个不同的数组列表对象中找到不常见的通用所有元素

  8. 8

    如何从两个文件中提取不常见的不区分大小写的文本?

  9. 9

    比较两个array-list元素并获得不常见的元素

  10. 10

    在两个表之间选择不常见的记录 - mysql

  11. 11

    如何找到两个大型数据帧之间不常见的日期时间

  12. 12

    这个最不常见的祖先算法怎么了?

  13. 13

    在编译时确定最不常见的祖先

  14. 14

    从枚举中选择最不常见的项目

  15. 15

    如何使用Shell脚本在两个文本文件之间找到不常见的行?

  16. 16

    给定一个颜色对象列表,找到最/最不常见的颜色,并将其作为颜色对象返回

  17. 17

    从最常见到最不常见的列排序,忽略重复项

  18. 18

    在两个PowerShell数组中查找常见项目

  19. 19

    按常见Lisp中的两个属性排序

  20. 20

    使用 PHP 比较两个数组并将不常见的字符串存储在新数组中

  21. 21

    比较两个数组并在 SWIFT 3 中找到不常见元素的索引

  22. 22

    列表中不常见的输出元素

  23. 23

    在SQL中查找不常见的用户

  24. 24

    C ++中不常见的FOR语句形式

  25. 25

    合并两个熊猫数据框,其中一个日期不常见,应该在最近的日期之前合并

  26. 26

    合并两个熊猫数据框,其中一个日期不常见,应在最近的日期之前合并

  27. 27

    如何计算最不常见祖先算法的时间复杂度?

  28. 28

    无法让我的 for 循环从我的哈希图中给我最不常见的字母

  29. 29

    文件中最不常用的词

热门标签

归档