FB_IIF
- 来源: https://www.freebasic.net/wiki/wikka.php?wakka=KeyPgDdfbiif
- 最后更新: 2022-06-06
编译器执行的内置定义(宏)。
语法
` FB_IIF( compare-expr, true-expr, false-expr )
`
参数
compare-expr
要测试的比较表达式。
非零值为真,零值为假。
true-expr
当 compare-expr 为真时返回的源代码。
false-expr
当 compare-expr 为假时返回的源代码。
描述
__FB_IIF__ 根据在预处理阶段求值的比较表达式结果,返回相应的源代码文本。
其典型用途是在表达式中间使用,避免为了在中间插入条件判断而拆分表达式。
此内置定义(宏)与 IIF 条件语句的区别在于:__FB_IIF__ 只在编译时求值并返回源代码文本,而 IIF 仅在 compare-expr 为常量时在编译时求值,否则 IIF 表达式在运行时求值。
示例
start GeSHi
vb
' 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 "; aend GeSHi
版本
- 自 fbc 1.10.0 起
与 QB 的区别
- FreeBASIC 新增
另请参阅
#if#else#endif
返回 目录