Как использовать троичный оператор в Swift - PullRequest
0 голосов
/ 10 октября 2018

Я хочу использовать троичный оператор в func printThis(_ items: Any...):

import Foundation

class PrintHelper {

/// This will help us to stop printing any thing to the console if we want at any time to look for something important.
static var printIsAllowed: Bool {
    return true // set false to stop printing ..
}

/// Print method that check if print is allowed or not.
///
/// - Parameter items: Zero or more items to print.
static func printThis(_ items: Any...) {
    if printIsAllowed {
        print(items)
    }else{
        return
    }
}

Я попытался сократить это:

if printIsAllowed {
        print(items)
    }else{
        return
    }

, написав это:

printIsAllowed ? print(items) : return

Тогда возникла ошибка!

Ответы [ 2 ]

0 голосов
/ 10 октября 2018

Если вы действительно, действительно , хотите использовать троичный оператор, измените эту функцию:

static func printThis(_ items: Any...) {
    let _ = printIsAllowed ? {print(items)}() : ()
}

И вы можете назвать это так:

PrintHelper.printThis("Hello World!") //prints ["Hello World!"]
0 голосов
/ 10 октября 2018

Здесь вам не нужен троичный оператор или даже , иначе .Этого достаточно:

static func printThis(_ items: Any...) {
    if printIsAllowed {
        print(items)
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...