Types &引用;“Eta转换”;类型应用
在Base、Core、Core.Compiler等中,是否存在将类型应用程序转换为函数应用程序的现有方法?换句话说,以下表达式中的lambda的无点替换:Types &引用;“Eta转换”;类型应用,types,julia,Types,Julia,在Base、Core、Core.Compiler等中,是否存在将类型应用程序转换为函数应用程序的现有方法?换句话说,以下表达式中的lambda的无点替换: julia> ((T, U) -> Union{T, U})(Int, Bool) Union{Bool, Int64} 我预料 Base.Fix1(Core.apply_type, Union)(Int, Bool) 但不幸的是,Fix1没有varargs方法。伪运算符只是创建匿名函数的一种方法。 也许您需要一个非匿名函数来
julia> ((T, U) -> Union{T, U})(Int, Bool)
Union{Bool, Int64}
我预料
Base.Fix1(Core.apply_type, Union)(Int, Bool)
但不幸的是,
Fix1
没有varargs方法。伪运算符只是创建匿名函数的一种方法。也许您需要一个非匿名函数来做同样的事情
f(T, U) = Union{T, U}
可能是一个。这取决于您希望函数返回什么。
上面的函数返回您给出的->示例的功能:
julia> f(Int, Bool)
Union{Bool, Int64}
->
伪运算符只是创建匿名函数的一种方法。也许您需要一个非匿名函数来做同样的事情
f(T, U) = Union{T, U}
可能是一个。这取决于您希望函数返回什么。
上面的函数返回您给出的->示例的功能:
julia> f(Int, Bool)
Union{Bool, Int64}