【发布时间】:2017-03-29 16:23:30
【问题描述】:
在我正在试验的一个项目中,我不断地增加序列元素。我想创建一个这样的运算符:
let (.*) (a:seq<'T>) (b:seq<'T>) = Seq.map2 (*) a b
但是,在 FSI 中它返回:
val ( .* ) : a:seq<int> -> b:seq<int> -> seq<int>
以下失败:
seq [1.0;2.0] .* seq [3.0;4.0];;
-----^^^
stdin(16,6): error FS0001: This expression was expected to have type
int
but here has type
float
如何让操作符在泛型 seq 上工作(前提是 'T 支持乘法)?
【问题讨论】: