我正在学习 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_:
似乎是最接近的,但是,由于某种原因,标识符不能以“:”开头并且有字母数字