将一个函数的输出作为参数传递给另一个函数

Pass one function's output as parameter in another function

我想将一个函数的输出作为另一个函数的参数传递,而不依赖于临时变量。它尝试它的方式,它要么没有将它识别为一个函数,因此输出 1,要么就是空的。以下示例的预期输出应为 a1。 我用 msgbox % functionb(% functiona(),1) 试过了; msgbox % functionb(functiona.call(),1)msgbox % functionb(func("functiona"),1)。 有办法吗?

msgbox % functionb(functiona.call(),1)

functiona() {
return a
}

functionb(Var1, Var2) {
output := Var1 Var2
return output
}

我认为正确的方法应该是这样的:

msgbox % functionb(functiona(),1)

functiona() {
    return "a"
}

functionb(Var1, Var2) {
    return, Var1 Var2
}

amsgbox % functionb(% functiona(),1)
将试图强制表达式,而已经在表达式语法中。所以那是错误的部分。

msgbox % functionb(functiona.call(),1)
将尝试调用函数对象,但“functiona”不是函数对象,它只是函数的名称。

msgbox % functionb(func("functiona"),1)
会创建一个函数对象,也不对。


第二个问题是return a
您正在尝试 return 名为 a 的变量的值,而不是 returning 字符“a”。

正确的方法是:

MsgBox, % functionb(functiona, 1)

functiona() 
{
    return "a"
}

functionb(Var1, Var2) 
{
    output := Var1 Var2
    return output
}