복붙노트

[SCALA] 스칼라의 연산자 우선 순위

SCALA

스칼라의 연산자 우선 순위

나는 스칼라의 연산자 우선 순위의 제안하지만 당신은 당신의 방법을 이름에 제한이 있기 때문에 일부 드문 경우에, 수정되지 않은 규칙이 불편할 수 있습니다 좋아한다. 스칼라의 클래스 / 파일 등 다른 규칙을 정의 할 수있는 방법이 있습니까? 그렇지 않으면, 그것은 미래에 해결 될 것인가?

해결법

  1. ==============================

    1.오퍼레이터의 첫 문자 6.12.3 중위 조작 - 조작 우선 순위는 스칼라 참조에 고정된다. 우선 순위를 증가에 상장 :

    오퍼레이터의 첫 문자 6.12.3 중위 조작 - 조작 우선 순위는 스칼라 참조에 고정된다. 우선 순위를 증가에 상장 :

    (all letters)
    |
    ^
    &
    = !
    < >
    :
    + -
    * / %
    (all other special characters)
    

    그리고 그것은 변경됩니다 매우 가능성이 아니다. 그것은 아마 해결보다 더 많은 문제를 야기 할 것이다. 당신이 정상 연산자 우선 순위를 사용하는 경우 하나 개의 클래스를 변경하는 것은 매우 혼란 스러울 것입니다.

  2. ==============================

    2.그런 능력이 없다 그리고 그것이 forseeable 향후 추가되는 거의 가능성이있다.

    그런 능력이 없다 그리고 그것이 forseeable 향후 추가되는 거의 가능성이있다.

  3. ==============================

    3.스칼라 컴파일러, 컴파일러 '미리보기'실험 기능의 버전의 typelevel 포크에서 제기 기능 요청이 있었다. 개발자는 누군가가 이것에 대한 SIP를 작성한다면, 그것은 구현을 위해 고려 될 수 있다고 제안했다.

    스칼라 컴파일러, 컴파일러 '미리보기'실험 기능의 버전의 typelevel 포크에서 제기 기능 요청이 있었다. 개발자는 누군가가 이것에 대한 SIP를 작성한다면, 그것은 구현을 위해 고려 될 수 있다고 제안했다.

    그것은 현재 상태의에서하지만, 우선 순위를 오버라이드 (override) 할 수있는 방법이 없습니다. 이 규칙은 공식적으로 언어 사양에 정의되어 있습니다.

  4. ==============================

    4."하여 Rational"클래스 예를 들어 책 http://www.scala-lang.org/docu/files/ScalaByExample.pdf의 6 장을 참조하십시오.

    "하여 Rational"클래스 예를 들어 책 http://www.scala-lang.org/docu/files/ScalaByExample.pdf의 6 장을 참조하십시오.

  5. from https://stackoverflow.com/questions/2922347/operator-precedence-in-scala by cc-by-sa and MIT license