コンパイラによって実行される組み込み定義 (マクロ)。
構文:
__FB_IIF__( compare-expr, true-expr, false-expr )
パラメータ:
compare-expr
テストする比較式。
ゼロ以外の値は真として評価され、ゼロの値は偽として評価されます。
true-expr
compare-expr が true の場合に返すソース コード。
false-expr
compare-expr が false の場合に返すソース コード。
記述:
__FB_IIF__ は、前処理時に評価された比較式の結果に応じて、ソース コード テキストを返します。
その典型的な使用法は式の途中です。 分割して条件を真ん中に置くことを避けます。
この組み込み定義 (マクロ) は、
__FB_IIF__ がコンパイル時にのみ評価され、ソース コード テキストを返すという点で、
IIF 条件文とは異なります。
IIF は、
compare-expr が定数の場合にのみ、コンパイル時に評価されます。 それ以外の場合、
IIF 式は実行時に評価されます。
例:
' From the example of the '#ELSE' documentation page:
'#DEFINE MODULE_VERSION 1
'Dim a As String
'#IF (MODULE_VERSION > 0)
' a = "Release"
'#ELSE
' a = "Beta"
'#ENDIF
'Print "Program is "; a
' Simpler code using '__FB_IIF__':
#DEFINE MODULE_VERSION 1
Dim a As String
a = __FB_IIF__( MODULE_VERSION > 0, "Release", "Beta" )
Print "Program is "; a
バージョン:
QBからの違い:
参照: