函数能不能作为参数传入另一个函数,函数的类型是什么?
现在Julia里面每一个函数都有一个类型,比如试试这个
julia> foo(x) = x
foo (generic function with 1 method)
julia> df = typeof(foo)
typeof(foo)
julia> df
typeof(foo)
julia> typeof(df)
DataType
他们都是抽象类型 Function
的子类
julia> isabstracttype(Function)
true
julia> df <: Function
true
你可以把这些函数当作变量传递,当然没有问题的!
但是目前没有实现能够用来检测函数参数类型的模板类型,所以你只能选择写 typeof(some_func_name)
或者就 Function
@thautwarm 在MLStyle里面貌似自己写了一个这样的参数类型?
2 个赞