2016-07-04 3 views
0

내 프로그램에서 나중에 정의되는 함수를 호출하는 중위 연산자를 만들고 있습니다. 이것이 가능할 수 있습니까?Swift에서 사용자 지정 함수를 호출하는 삽입 연산자를 정의합니다.

나는

infix operator ∆+ { associativity left precedence 140 } 

func ∆+ (left: String, right: String) -> String { 
    return newAddition(left,second:right) 
} 

내가 발견은 내 나중에 정의 코드에서 잡아 당기지 수 있다는 것입니다있어 문제 같은 것을하고 싶습니다. 나는이 부분을 클래스 문장 밖에서 선언하고있다.

+0

'func Δ + (왼쪽에서 왼쪽 : 문자열, 오른쪽 : 문자열) -> 문자열'과 같은 해당 할당 연산자를 만드는 것이 좋습니다. – Dershowitz123

+0

'내가 알아 낸 문제는 나중에 정의 된 코드에서 가져올 수 없다는 것입니다. '오류가 무엇인가요? –

+0

나중에 deinfed 코드가 의미하는 바는 무엇입니까? –

답변

3

예. 가능합니다. 전역 범위에서 정의 된 사용자 정의 연산자 함수는 전역 함수를 정의 할 수도 있습니다.

import UIKit 

infix operator ∆+ { associativity left precedence 140 } 

func ∆+ (left: String, right: String) -> String { 
    return newAddition(left,second:right) 
} 

func newAddition(left: String, second: String) -> String 
{ 
    return left + second 
} 

//....... Other sutffs 
관련 문제