我想将一个函数的输出作为另一个函数的参数传递,而不依赖于临时变量。它尝试的方式,要么无法将其识别为功能,然后输出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
}
答案 0 :(得分:2)
我认为正确的方法应该是这样的:
msgbox % functionb(functiona(),1)
functiona() {
return "a"
}
functionb(Var1, Var2) {
return, Var1 Var2
}
答案 1 :(得分:0)
amsgbox % functionb(% functiona(),1)
在已经使用表达式语法的情况下将试图强制表达式。所以那是错误的部分。
msgbox % functionb(functiona.call(),1)
会试图调用一个函数对象,但是“ functiona”不是函数对象,它只是函数的名称。
msgbox % functionb(func("functiona"),1)
将创建一个函数对象,也不正确。
第二个问题是return a
。
您正在尝试返回名为a
的变量的值,而不是返回字符“ a”。
正确的方法是:
MsgBox, % functionb(functiona, 1)
functiona()
{
return "a"
}
functionb(Var1, Var2)
{
output := Var1 Var2
return output
}