types - “Eta 转换”类型的应用程序
问题描述
在 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
的是没有可变参数方法。
解决方案
->
伪运算符只是创建匿名函数的一种方式。
也许你想要一个做同样事情的非匿名函数。
f(T, U) = Union{T, U}
可能是一个。不过,这取决于您期望函数返回什么。上面的函数返回您给出的 -> 示例的作用:
julia> f(Int, Bool)
Union{Bool, Int64}
推荐阅读
- reactjs - NextJS CSP 标头破坏 PDFtron iframe 内容
- html - 如何让 CSS webkit-scrollbar 与 HTML 对象标签一起使用?
- python - Linkedlist While 循环(python),为什么我们在 while 循环中使用 fast.next 而不是 fast.next.next
- cypress - 当我在 cypress 中编写脚本并运行它时发生错误
- reactjs - Lint Staged 不访问子文件夹
- mysql - 根据条件返回具有行数的动态列 | mysql
- quarkus - Quarkus原生图片中文编码问题
- javascript - 我正在制作一个 mineflayer pvp 机器人,但它只攻击一次
- nuget - 如何通过 API 更新 NuGet.org 上的 Readme.md?
- css - CSS 网格 - 网格开始处的动态列