我在这个F#代码中做错了什么?

时间:2009-10-11 15:41:27

标签: f# parallel-processing

让parallelTest n = Color(Color.DeepPink,Triangles(sphere n));;

Parallel.For(0,10,new Action(parallelTest));;

错误讯息: 错误FS0001:类型不匹配。期待一个     int - >单元 但给了一个     int - >现场。 类型'unit'与'scene'类型不匹配

如果有人帮助我,我会很高兴。

3 个答案:

答案 0 :(得分:4)

使用ignore撰写您的功能,使其返回unit

Parallel.For(0, 10, parallelTest >> ignore)

答案 1 :(得分:3)

如果你想要10个结果,也许你想要

[| for i in 0..9 do
       async { return parallelTest i } |]
|> Async.Parallel
|> Async.RunSynchronously

这将返回10个场景结果的数组。

答案 2 :(得分:0)

此错误消息发生在哪个位置? (我不能重现错误,因为我不知道你使用的某些函数的删除)

我想以下内容:Parallel.For需要int -> unit(标准.NET中为Action<int>),但parallelTest有不同的类型(int -> scene)因此是不相容的。

你想用整个代码实现什么?