我正在尝试学习无形(2.0.0)。这似乎是一个了不起的工具,我对此感到非常兴奋,但我在前进时遇到了问题。因为还没有太多的文档,所以我一直在研究示例和源代码。我遇到了困难,因为大多数示例都使用了多个无形的概念,并且在源代码中,一种无形的类型经常会利用其他的,所以我最终进入了无形的兔子洞,可以这么说。我认为列出无形 API 的重要特性以及对每个特性的简单描述会很有帮助。因为我显然没有资格列出这样的清单,所以我问你们,Stack Overflow 的人!
对于每个功能,请尽可能多地包括以下内容:
功能的名称以及如何导入它。
对其作用的简短描述。
为什么这个功能很重要/为什么有人会费心使用它?
一个尽可能少地使用其他无形或高级 Scala 概念的简单示例。
API 的一个特性是指单个事物(例如,类型、函数、对象等),或紧密耦合的此类事物的小集合,由 shapeless 2.0 定义并且可以导入并用于一个程序。我指的不是一般概念,例如高阶多态性或类型级递归。每个答案请仅包含一项功能。也许如果有足够多的答案并且足够多的其他人也使用这个列表,我们可以使用对答案的投票来对不同特征的重要性进行排名。
注意:我知道这个功能列表。我认为它很棒,它对我帮助很大。但是,我正在寻找更类似于 API 文档的东西,而不是你可以做的事情的列表。我可以理解许多示例并从中推断出某些功能的用途,但是我经常会被某些特定的部分绊倒而无法弄清楚它的功能。