Skip to content

FB_ARG_LISTEXPAND


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

语法

**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__

返回 目录

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