Можно ли получить функцию первого класса с параметрами по умолчанию? - PullRequest
0 голосов
/ 10 октября 2018

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

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

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 или нет?

...