【发布时间】:2015-10-07 08:36:19
【问题描述】:
我有一个Powershell 脚本,我已经加载了一个F# 库并创建了一个F# 记录表达式:
$teacher = Data+Teacher("Joan", "Doe", 27)
现在我需要将$teacher 传递给一个函数,但在此之前我需要将它向上转换为类型SchoolEmployee。当我尝试时:
$schoolEmployee = $teacher -as [Data+SchoolEmployee]
我得到了一个空对象。在我的 F# 模块中,我有一个有区别的联合:
module Data =
type SchoolEmployee =
| Teacher of Teacher
| Cleaner of Cleaner
如何向上转换为 Powershell 中的 F# 可区分联合类型?
【问题讨论】:
-
不确定这是否受支持,但
[Data+SchoolEmployee]不起作用的原因是+内部类型字符串在 PowerShell 中表示“嵌套类”。你试过[Data.SchoolEmployee]吗? -
这个问题似乎与这个问题有关:stackoverflow.com/q/32973438/126014
-
是的,很好,马克,同一个项目的一部分:-)
标签: powershell f#