Function 関数

precondition(_:_:file:line:)

Checks a necessary condition for making forward progress. これは進捗を前へ進めるために必要な条件を確認します。

Declaration 宣言

func precondition(_ condition: @autoclosure () -> Bool, _ message: @autoclosure () -> String = String(), file: StaticString = #file, line: UInt = #line)

Parameters パラメータ

condition

The condition to test. condition is not evaluated in -Ounchecked builds. テストする条件。conditionは、-Ouncheckedビルドにおいては評価されません。

message

A string to print if condition is evaluated to false in a playground or -Onone build. The default is an empty string. プレイグラウンドまたは-Ononeビルドにおいてconditionfalseに評価されるならば出力する文字列。初期状態では空の文字列です。

file

The file name to print with message if the precondition fails. The default is the file where precondition(_:_:file:line:) is called. 前提条件がうまくいかないならばmessageとともに出力するファイル名。初期状態では、precondition(_:_:file:line:)が呼び出されるところのファイルです。

line

The line number to print along with message if the assertion fails. The default is the line number where precondition(_:_:file:line:) is called. 表明(アサーション)がうまくいかないならば、messageとともに出力する行番号。初期状態では、precondition(_:_:file:line:)が呼び出されるところの行番号です。

Discussion 解説

Use this function to detect conditions that must prevent the program from proceeding, even in shipping code. この関数を使って、続行することからプログラムを妨げなければならない条件を突き止めてください、出荷コードにおいてもです。

  • In playgrounds and -Onone builds (the default for Xcode’s Debug configuration): If condition evaluates to false, stop program execution in a debuggable state after printing message. プレイグラウンドおよび-Ononeビルド(省略時のXcodeのDebug構成)において:conditionfalseに評価されるならば、messageを出力した後にデバッグ可能状態でプログラム実行を停止します。

  • In -O builds (the default for Xcode’s Release configuration): If condition evaluates to false, stop program execution. -Oビルド(省略時のXcodeのRelease構成)では:conditionfalseに評価されるならば、プログラム実行を止めます。

  • In -Ounchecked builds, condition is not evaluated, but the optimizer may assume that it always evaluates to true. Failure to satisfy that assumption is a serious programming error. -Ouncheckedビルドにおいて、conditionは評価されません、しかし最適化は、それがtrue常にに評価されると決めてかかります。了解事項を満たすことの失敗は、重大なプログラミングエラーです。

See Also 参照

Testing テスト