local String = {}
function String:get2(a, b)
return a + b
end
function String:get(a,b, func)
return func(a,b)
end
print(String:get(1, 2, String:get2 ))
local String = {}
function String:get2(a, b)
return a + b
end
function String:get(a,b, func)
return func(a,b)
end
print(String:get(1, 2, String:get2 ))
print(String:get(1, 2, String:get2 )) 这行代码中传递给 String:get 函数的第三个参数是错误的。您传递的是 String:get2,它是一个方法,而不是一个函数。需要将它更改为正确的函数,例如:
print(String:get(1, 2, String.get2))
这样,第三个参数就是正确的函数,代码将正确运行。