LoginSignup
0
0

More than 5 years have passed since last update.

Swiftでprintの書き換えに困った

Posted at

Swiftで可変長引数に配列を展開したかった

よくプリプロセッサを使ってデバッグ時のみ出力するようにprintを書き換える例があるんだけど、実際使ってみる段になって可変長引数の引き渡しができなくて困った。。。
(golang...argsで受け取ってargs...で展開みたいなのがしたかった)

とりあえず、printの書き換えが目的だったので出力がそれっぽくなればいいと思い下記のように対応した。

func print(_ items: Any..., separator: String = " ", terminator: String = "\n") {
    #if DEBUG
    items.enumerated().forEach { (index, item) in
        if index == items.count - 1 {
            Swift.print(item, separator: "", terminator: terminator)
        } else {
            Swift.print(item, separator: "", terminator: separator)
        }
    }
    #endif
}

ちゃんとした言語仕様があったら書き直したい。。。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0