Skip to content

FB_QUOTE


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

语法

` FB_QUOTE( arg )

`

参数

arg

参数

描述

将参数转换为字符串,类似于字符串化运算符(#),但可在任意位置使用(会先展开参数再转换)。

更精确地说,__FB_QUOTE__ 相比通过参数传入的文本,返回过度引用的文本(带有 运算符 $(非转义字符串字面量) 前缀),即参数本身可能已经是字符串,此时返回值为过度引用的字符串。

示例

start GeSHi

vb
#macro m( arg )
    Scope
        Dim s1 As String = #arg
        Print s1
        Dim s2 As String = __FB_QUOTE__( arg )
        Print s2
    End Scope
#endmacro

m(Hello)
Print
m("Hello")

Sleep

/' Output:
Hello
Hello

"Hello"
"Hello"
'/

end GeSHi

start GeSHi

vb
#macro m( arg1, arg2 )
    Scope
        'Dim s0 As String = #arg1##arg2  ' does not work because arg1##arg2 is not developped before applying #
        Dim s1 As String = #arg1###arg2  ' workaround because #arg => $"arg" and not only "arg"
                                         '    (otherwise the result would be "arg1""arg2" => "arg1"arg2")
        Print s1
        Dim s2 As String = __FB_QUOTE__( arg1##arg2 )
        Print s2
    End Scope
#endmacro

m(Free, BASIC)

Sleep

/' Output:
FreeBASIC
FreeBASIC
'/

end GeSHi

另请参阅 __FB_UNQUOTE__ 示例。

版本

  • 自 fbc 1.08.0 起

与 QB 的区别

  • FreeBASIC 新增

另请参阅

  • __FB_UNQUOTE__
  • __FB_EVAL__

返回 目录

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