[SCALA] 어떻게 오른쪽 연관 중위 연산자를 만드는 방법?
SCALA어떻게 오른쪽 연관 중위 연산자를 만드는 방법?
나는 >> 연관 작업을해야합니다. 문제는 그 비용은 선형의 왼쪽 피연산자의 크기에 따라 달라집니다 것입니다. n 개의 애플리케이션 >> 등의 서열에 의해 형성된 발현 그래서
a >> a >> a >> a >> a >> ... >> a
기본적으로 중위 연산자 왼쪽 연관되어 있기 때문에, N의 측면에서 차 비용이. 어떻게 이런 식의 비용은 N의 측면에서 선형 유지 그래서 그것은 바로 연관 만들어?
해결법
-
==============================
1.나는 해결책을 찾아 냈다. 스칼라 참조 섹션 6.12.3 중위 운영 말한다 :
나는 해결책을 찾아 냈다. 스칼라 참조 섹션 6.12.3 중위 운영 말한다 :
그러므로 >>에 >> 이름 바꾸기에 충분했다 :.
>> B가에 desugared 동안 그것은 나에게 실현하는 데 시간이 걸렸다 >> (b)에 >> :. (B)가 B에 desugared한다 >> :( A)를.. 그래서 나는 >> 정의했다 :로
def >>:(x: T): T = x >> this
from https://stackoverflow.com/questions/15384744/how-to-make-a-right-associative-infix-operator by cc-by-sa and MIT license
'SCALA' 카테고리의 다른 글
[SCALA] 어떻게 스칼라 반사를 통해 기본 매개 변수 값에 액세스합니까? (0) | 2019.11.21 |
---|---|
[SCALA] 아파치 스파크는 기존 DataFrame에 "CASE ... ELSE ..."계산 된 열을 추가 (0) | 2019.11.21 |
[SCALA] 서열에서 만족 조건 X 그 첫 번째 요소를 찾기 (0) | 2019.11.21 |
[SCALA] 어떻게 불변 인 Set 비교 방법으로 사용되는 사용자 정의 평등 작업을 정의 할 수 있습니다 (0) | 2019.11.21 |
[SCALA] 효율적으로 스칼라의 문자 / 문자열을 n 번 반복 (0) | 2019.11.21 |