将一个函数的输出作为参数传递给另一个函数
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
}
我想将一个函数的输出作为另一个函数的参数传递,而不依赖于临时变量。它尝试它的方式,它要么没有将它识别为一个函数,因此输出 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
}