F# - 反向管道订单

时间:2011-03-13 14:31:30

标签: f#

我怎么能这样做:

let printTeams x : unit = 
    let rnd = new Random()
    Seq.toList x |> List.sortBy (fun x -> rnd.Next()) |> printTeams'

但不是:

let printTeams x : unit = 
    let rnd = new Random()
    printTeamsRec'  <| Seq.toList x <| List.sortBy(fun x -> rnd.Next())

我只是在最后一个上面出错,其中说:

  

类型不匹配。期待一个字符串   列表 - &gt; 'a - &gt; 'b但是给了一个   字符串列表 - &gt;单位类型''a    - &GT; 'b'与'unit'类型不匹配

printTeamsRec'

的第三行发生错误

任何帮助都会受到赞赏。

1 个答案:

答案 0 :(得分:6)

两件事:前向管道向后管道的转换是不正确的,优先级也不同。

let printTeams x : unit = 
    let rnd = new Random()
    printTeamsRec' <| (List.sortBy(fun x -> rnd.Next()) <| Seq.toList x)