Можно ли получить функцию первого класса с параметрами по умолчанию?

У меня есть куча похожих функций, которые имеют одинаковые параметры. Некоторые параметры имеют значение по умолчанию.

Вот два из них:

func debug(_ message: String, eventid: String = Foundation.UUID().uuidString, logFile: String = "log.log", evenIdents: Bool = true) -> String

func warning(_ message: String, eventid: String = Foundation.UUID().uuidString, logFile: String = "log.log", evenIdents: Bool = true) -> String

Теперь я хочу сохранить эту функцию в переключателе в переменную и вызвать ее позже, но я также хочу, чтобы я мог пропустить некоторые параметры по умолчанию. Я попробовал это так:

let function: (String, String) -> String    

switch logStyle {
case .debug:
    function = debug(_:logFile:)
case .warning:
    function = warning(_:logFile:)
}

К сожалению это не работает и дает мне ошибку Use of unresolved identifier 'debug(_:logFile:)',

С Swift это возможно как-то или нет?

0 ответов

Другие вопросы по тегам