F# 如何在歧视工会案例的实际容器上进行模式匹配?
出于好奇,我如何在歧视工会案例的实际容器上进行模式匹配 具体来说,我如何知道某个值是否属于特定类型 我尝试使用模式构造(即:?): 错误: 此运行时强制或类型测试来自类型 ”“是的 根据该程序点之前的信息,车辆涉及不确定类型。上不允许运行时类型测试 有些类型。需要进一步的类型注释 以下是完整的代码:F# 如何在歧视工会案例的实际容器上进行模式匹配?,f#,F#,出于好奇,我如何在歧视工会案例的实际容器上进行模式匹配 具体来说,我如何知道某个值是否属于特定类型 我尝试使用模式构造(即:?): 错误: 此运行时强制或类型测试来自类型 ”“是的 根据该程序点之前的信息,车辆涉及不确定类型。上不允许运行时类型测试 有些类型。需要进一步的类型注释 以下是完整的代码: type Vehicle = | Car | Tank | Helicopter let move = function | Car -> "
type Vehicle =
| Car
| Tank
| Helicopter
let move = function
| Car -> "wheels spin"
| Tank -> "tracks roll"
| Helicopter -> "Blades spin"
let isVehicle = fun a -> match a with
| :? Vehicle -> "Is a vehicle"
| _ -> "Is NOT a vehicle"
应向lambda参数添加类型注释:
let isVehicle = fun (a:obj) -> match a with
| :? Vehicle -> "Is a vehicle"
| _ -> "Is NOT a vehicle"
let isVehicle = fun (a:obj) -> match a with
| :? Vehicle -> "Is a vehicle"
| _ -> "Is NOT a vehicle"