コンパイラーによって実行される固有の定義(マクロ)。
構文:
__FB_UNIQUEID__( stack-id
)
パラメータ:
記述:
stack-id で識別されるスタックの最上位の識別子を取得します(スタックのサイズは変更されません)。
(
__FB_UNIQUEID_PUSH__ を使うと、新しい一意の識別子をスタックに収納でき、
__FB_UNIQUEID_POP__ を使うと、識別子をスタックから取り出せます)
注意:
-
'stack-id' 名自体は、他のすべてのシンボルとは別の名前空間です。
-
スタックには「一意の識別子」のみを含めることができます。
-
「一意の識別子」は、モジュールに一意の fb シンボルの名前なので、他のシンボル名と競合したりシャドウイングしたりすることはありません(「一意の識別子」は、名前として「LT_xxxx」の形式になるため、完全に一意ではない可能性があります) 。
-
fb は、ラベル、シンボル、一時変数などに、内部的に「LT_xxxx」という形式を使います(したがって、バージョン 0.0 以降の fbc プログラムでは、この形式の fbc シンボル名前を付けることは避けてください)。
__FB_UNIQUEID__ は、引用符で囲まれていないテキストに展開されます。 したがって、「Lt_0004」などの名前は、fb シンボルが必要な場所(変数、手続き名、型名など)で使用できます。
__FB_UNIQUEID__ は、スタックが空か、一度も埋められていない場合に、引用符で囲まれていない空の文字列を返します。
例:
__FB_UNIQUEID_PUSH__( stk
)
#print __FB_UNIQUEID__(
stk )
__FB_UNIQUEID_PUSH__( stk )
#print
__FB_UNIQUEID__( stk )
__FB_UNIQUEID_PUSH__( stk
)
#print
__FB_UNIQUEID__( stk )
__FB_UNIQUEID_POP__( stk
)
#print __FB_UNIQUEID__( stk )
__FB_UNIQUEID_POP__( stk )
#print __FB_UNIQUEID__( stk
)
__FB_UNIQUEID_POP__( stk
)
/' Compiler output
example:
Lt_0006
Lt_0007
Lt_0008
Lt_0007
Lt_0006
'/
__FB_UNIQUEID_PUSH__
と
__FB_UNIQUEID_POP__ の例も参照下さい。
バージョン:
QBからの違い:
参照: