加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

无形API(在Scala中)的重要特征是什么?

发布时间:2020-12-16 09:34:47 所属栏目:安全 来源:网络整理
导读:我试图学习无形(2.0.0)。这似乎是一个了不起的工具,我很激动,但是我有进步的问题。因为还没有太多的文档,所以我一直在讨论示例和源代码。我遇到困难,因为大多数例子都使用了多个无形的概念,而在源代码中,一个无形的类型往往会被其他人使用,所以我最终
我试图学习无形(2.0.0)。这似乎是一个了不起的工具,我很激动,但是我有进步的问题。因为还没有太多的文档,所以我一直在讨论示例和源代码。我遇到困难,因为大多数例子都使用了多个无形的概念,而在源代码中,一个无形的类型往往会被其他人使用,所以我最终可以去掉无形的兔子洞。我认为列出无形API的重要功能以及每个人都做的简单描述将是有帮助的。由于我显然是不合格的做这样的清单,我问你,堆栈溢出的人!

对于每个功能,请尽可能包含以下内容:

>功能的名称以及如何导入。
>简短描述它的作用。
>为什么这个功能很重要/为什么有人会麻烦使用它?
>一个使用尽可能少的其他无形或高级Scala概念的简单示例。

通过API的一个特点,我的意思是一个单一的东西(例如,一个类型,一个函数,一个对象等)或一组紧密耦合的这样的东西,这是由无形的2.0定义的,可以导入和使用一个程序。我不是指一般概念,如高阶多态性或类型级递归。每个答案只能包含一个功能。也许如果有足够的答案,还有足够的其他人也可以使用这个列表,我们可以使用答案上的投票来排列不同功能的重要性。

注意:我知道this feature list.我认为这很棒,它帮助了我很多。但是,我正在寻找类似于API文档的东西,而不是列出您可以做的事情。我可以理解许多例子,并推断出他们的一些功能的目的,但是我经常会遇到一些特别的事情,不能弄清楚它的功能。

解决方法

HList

HList是一个列表式的数据结构,可以容纳多种类型的对象。 HList其实是一个特质。给定的HList将有一个更具体的类型来完全指定其内容的类型。黑社会是不可变的。导入HList功能的通常方式是通过

import shapeless._

当您需要一个不是元组的异构对象的不可变集合时,高清主义是有用的。

HList是使用HNIL,它是空的HList和::运算符构造的。以下示例显示如何创建计数为“cat”的HList:

val hl = 1 :: 2 :: "cat" :: HNil

上面的hl类型包括两个Int类型和一个String类型。无耻者包括许多有用的行动,其中应该是其他答案的主题。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读