Are you an LLM? You can read better optimized documentation at /zh\official\language\defines\KeyPgDdfbarglistexpand.md for this page in Markdown format
FB_ARG_LISTEXPAND
- 来源: https://www.freebasic.net/wiki/wikka.php?wakka=KeyPgDdfbarglistexpand
- 最后更新: 2024-06-18
编译器执行的内置定义(宏)。
语法
**FB_ARG_LISTEXPAND**( macroname, macroargcount, args... )参数
macroname
用于扩展调用的宏名称
macroargcount
'macroname' 宏的参数数量
根据 'macroargcount' 值扩展参数列表 'args...':
'macroargcount > 0':每次传递 'macroargcount' 个参数
'macroargcount = 0':传递所有参数
'macroargcount < 0':对于每个传递的参数,在下一次传递时自动删除前面的 'macroargcount' 个参数
args...
参数列表
说明
根据 macroargcount 的值和 args... 列表中的参数数量,扩展为一个或多个 'macroname( .... )'。
在索引无效时返回空字符串,而不是编译错误。
示例
start GeSHi
vb
#macro m( arg... )
#print " "##arg
#endmacro
#print "macroargcount>0 (=1):"
__FB_ARG_LISTEXPAND__( m, 1, Hello1, Hello2, Hello3, Hello4)
#print " "
#print "macroargcount=0 (=0):"
__FB_ARG_LISTEXPAND__( m, 0, Hello1, Hello2, Hello3, Hello4)
#print " "
#print "macroargcount<0 (=-1):"
__FB_ARG_LISTEXPAND__( m, -1, Hello1, Hello2, Hello3, Hello4)
/' Compiler output:
macroargcount>0 (=1):
Hello1
Hello2
Hello3
Hello4
macroargcount=0 (=0):
Hello1, Hello2, Hello3, Hello4
macroargcount<0 (=-1):
Hello1, Hello2, Hello3, Hello4
Hello2, Hello3, Hello4
Hello3, Hello4
Hello4
'/end GeSHi
版本
- 自 fbc 1.20.0 起支持
与 QB 的差异
- FreeBASIC 新增特性
另请参阅
__FB_ARG_RIGHTOF____FB_ARG_LEFTOF____FB_ARG_COUNT____FB_ARG_EXTRACT__
返回 目录