在scala中使用self =>进行混淆
一些
Scala API可以将这个自己别名,例如,
trait Function1[-T1,+R] extends AnyRef { self => 我知道这个混叠是如何工作的,但是看不到Function1这样的特性如何受益.除了初始提及之外,Function1在其定义中的任何地方都不使用自己,所以这里的目的是什么? 以前曾询问过此问题的变体,但答案并不直接适用.答案已经讨论过自己的类型和内部类,但是我看不到这里适用. 解决方法
见
https://github.com/scala/scala/blob/2.10.1/src/library/scala/Function1.scala#L8说的话
// GENERATED CODE: DO NOT EDIT. See scala.Function0 for timestamp. 代码由Function0通过Function22生成.不知何故当你去功能5你开始看到 self.apply(x1,x2,x3,x4,x5)).curried 所以我怀疑自己更容易=>始终包含在生成器模板中. 这是commit增加了自我参考.提交消息实际上解释了为什么它为n> = 5做不同的事情,我引用:
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |