【发布时间】:2013-08-02 07:48:48
【问题描述】:
我正在学习 Scala,并正在使用正确的关联 unapply 对象。我知道如果名称以“:”结尾,那么它就变成了正确的关联。不过,在命名上似乎有一些奇怪的限制
例如 这些都是无效的
object cons: { def unapply(value: String): Option[(Char, List[Char])] = ??? }
object :_cons_: { def unapply(value: String): Option[(Char, List[Char])] = ??? }
这些都是有效的
object cons_: { def unapply(value: String): Option[(Char, List[Char])] = ??? }
object >>: { def unapply(value: String): Option[(Char, List[Char])] = ??? }
因此,在标识符中混合字母数字字符和符号似乎有些奇怪。
所以基本上,我想要一个描述性的名称,即“缺点”,并且仍然具有正确的关联性。另外,出于美学原因,我希望我的操作员是对称的 :-),所以我不太喜欢 cons_:
有没有办法在不使用冒号的情况下使某些东西与右侧相关联?或任何其他建议来实现这一目标?
:_cons_: 似乎是最接近的,但由于某种原因,标识符不能以 ':' 开头并且包含字母数字
【问题讨论】:
标签: scala syntax operators identifier associative