Swift 4: Как получить доступ к & ldquo; type (of:) & rdquo ;, компилятор, получающий доступ к другому методу [duplicate]

Самый мнемонический способ представления вашего псевдокода в Python:

x = 0
y = 1
z = 3
mylist = []

if any(v == 0 for v in (x, y, z)):
    mylist.append("c")
if any(v == 1 for v in (x, y, z)):
    mylist.append("d")
if any(v == 2 for v in (x, y, z)):
    mylist.append("e")
if any(v == 3 for v in (x, y, z)):
    mylist.append("f")
4
задан Jorge Bernal 3 December 2015 в 10:20
поделиться

2 ответа

Вы можете добавить имя модуля в этом случае Swift:

extension Int {
    func clamp(left: Int, right: Int) -> Int {
        return Swift.min(Swift.max(self, left), right)
    }
}

И просто для удовольствия: вы получите тот же результат с

extension Int {
    func clamp(left: Int, right: Int) -> Int {
        return (left ... right).clamp(self ... self).start
    }
}

, используя clamp() из ClosedInterval.

7
ответ дан Martin R 26 August 2018 в 07:29
поделиться

Вы можете создать функцию myMin<T>(a: T, b: T), которая вызывает min, и использовать ее в своем расширении.

0
ответ дан dasdom 26 August 2018 в 07:29
поделиться
Другие вопросы по тегам:

Похожие вопросы: