저는 스칼라를 배우고 오른쪽 연관 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_:
좋아요! 임의의 식별자를 허용하기 위해 백 틱을 사용하는 것에 대해서는 몰랐습니다. 감사합니다 – ekj
마지막 문자는 역 인용 부호가 아니며 콜론입니다. 따옴표 붙은 식별자의 따옴표 문자는 문자열 리터럴의 따옴표 문자보다 더 이상 식별자의 일부가 아닙니다. –
@ JörgWMittag : 와우, 그건 내 부분에있어 엄청난 오독 이었어. "제외하다"는 바로 거기에있다. 내 방어에서 일찍 여기 있었고 나는 [this] (http://stackoverflow.com/q/17863794/334519)에 대해 아직도 조금 씁쓸했다. 나는 backtick 접근 방식이 작동한다는 나의 놀람을 제거하기 위해 편집했다. –