有没有办法检查函数是否在Julia中有关键字参数?我正在寻找类似has_kwargs(fun::Function)
的东西,如果fun有一个带关键字参数的方法,它会返回true。检查函数是否在Julia中有关键字参数
高水平的想法是建立一个功能:
function master_fun(foo::Any, fun::Function, ar::Tuple, kw::Tuple)
if has_kwargs(fun)
fun(ar... ; kw...)
else
fun(ar...)
end
end
为什么你需要用这种方式构建函数?我不知道'foo'是什么,但是如何使用默认值:'ar :: Tuple =(),kw :: Tuple =()'?如果有趣的是kwargs,那么kw可能会持有它们(在你的例子中)。 –
我有一个问题打开与此有关:https://github.com/JuliaLang/julia/issues/20555 –
感谢您的回答,如果您将它传递给函数,使用kw =()会引发BoundsError。 – Maxime