コンパイラーによって実行される固有の定義(マクロ)。
構文:
__FB_QUOTE__( arg )
パラメータ:
記述:
stringize 演算子 (#) と同様に、引数を文字列に変換しますが、どこでも使えます(変換前に引数を展開します)。
より正確には、
__FB_QUOTE__ は、引数で渡されたテキストに対して、(
演算子 $ (Non-Escaped String Literal) を先頭に持つ)引用符で囲まれた文字列を返します。(引数がすでに文字列である場合、引用符で囲まれた文字列が返されます。)
例:
#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"
'/
#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
'/
__FB_QUOTE__ の例も参照下さい。
バージョン:
QBからの違い:
参照: