簡體   English   中英

$1 ++ $0 在 Swift 的閉包中意味着什么?

[英]What does $1 ++ $0 mean in the closure for Swift?

我在查看有關如何從列表中刪除重復項的代碼時,發現了一些我不熟悉的語法。 $1++$0 是什么意思?

extension List where Element: Hashable {

    func removeDuplicates() -> List {
        var set = Set<Element>()
        let list = reduce(List()) {
            guard !set.contains($1) else { return $0 }
            set.insert($1)
            return $1 ++ $0
        }
        return list.reversed()
    }
}

$0是傳入閉包的第一個參數。

$1是第二個參數。

++是自定義中綴運算符

infix operator ++

private func ++<Element>(element: Element, list: ListNode<Element>) -> ListNode<Element> {
    return list.insert(element: element)
}

它將在運算符右側的列表右側插入元素

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM