FB_QUOTE
- 来源: https://www.freebasic.net/wiki/wikka.php?wakka=KeyPgDdfbquote
- 最后更新: 2021-10-11
编译器执行的内置定义(宏)。
语法
` 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__
返回 目录