在DolphinDB中,如何简洁地处理可变参数?

问题描述 投票:0回答:1

在函数

makeCall(F, args...)
中,argsF所需的参数。当F涉及多个参数时,我目前使用
if-else
语句并编写如下
makeCall
函数来确定参数的数量:

makeCall(f1,sqlCol(args[0]))
,或

makeCall(f2,sqlCol(args[0]),sqlCol(args[1]))
,或

makeCall(f3,sqlCol(args[0]),sqlCol(args[1]),sqlCol(args[2]))
.

但是,随着 F 中参数数量的增加,由于

if-else
语句数量的增加,脚本变得冗长。有没有一种简洁的方法将 args 中的参数传递给
makeCall
函数?

parameters parameter-passing dolphindb
1个回答
0
投票

您可以使用

makeUnifiedCall
函数将所有输入参数封装到一个元组中,这样您就不需要担心参数的数量。传递参数时,可以如下初始化 makeUnifiedCall
args
的元组(例如 param),并使用
append!
添加参数。

param = []
param.append!(x)
param.append!(y)
© www.soinside.com 2019 - 2024. All rights reserved.