swift4로 우주선 연산자를 구현하여 ufo 기분을 맛보세요

2452 단어 SwiftSwift4operator
소트 처리를 쓰고 있었습니다만, 복잡한 소트가 되면 기술이 매우 귀찮아서.
ruby나 php에 있는 우주선 연산자가 갖고 싶습니다만… … swift에는 없다!
없지만 새로 구현할 수 있습니다. 그렇게 할 수밖에 없다

이 기사 하지만 참고가 있습니다만, swift4가 되면 움직이지 않게 되므로.

구현 예!



ufo.swift
infix operator <=>: UfoPrecedence

precedencegroup UfoPrecedence {
    associativity: left
}

public func <=> <T: Comparable>(lhs: T, rhs: T) -> Int {
    if (lhs == rhs) {
        return 0
    }

    return lhs > rhs ? 1 : -1
}

실행 결과



cattle_mutilation.swift
0 <=> 1 // -1
1 <=> 1 //  0
2 <=> 1 //  1

이것으로 손쉽게 정렬 처리에!

좋은 웹페이지 즐겨찾기