Skip to content

FB_IIF


编译器执行的内置定义(宏)。

语法

` 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 "; a

end GeSHi

版本

  • 自 fbc 1.10.0 起

与 QB 的区别

  • FreeBASIC 新增

另请参阅

  • #if
  • #else
  • #endif

返回 目录

基于 FreeBASIC 官方文档翻译 如有侵权请联系我们删除
FreeBASIC 是开源项目,与微软公司无隶属关系