私は 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_:
はありません。コロンを使用せずに何かを右側に関連付ける方法はありますか? またはこれを達成するための他の提案はありますか?
:_cons_:
が最も近いようですが、何らかの理由で識別子が「:」で始まり、英数字を持つことはできません