如何在F#中打印整个列表?

时间:2009-11-01 02:16:53

标签: f#

当我使用Console.WriteLine打印列表时,默认只显示前三个元素。如何让它打印列表的全部内容?

3 个答案:

答案 0 :(得分:8)

你可以使用%A格式说明符和printf来获得'美化'列表打印输出,但是像对象上的Console.WriteLine(它调用.ToString()),它不一定会显示所有元素。为了得到它们,迭代整个列表。下面的代码显示了一些不同的选择。

let smallList = [1; 2; 3; 4]
printfn "%A" smallList // often useful

let bigList = [1..200]
printfn "%A" bigList // pretty, but not all

printfn "Another way"
for x in bigList do 
    printf "%d " x
printfn ""

printfn "Yet another way"
bigList |> List.iter (printf "%d ")
printfn ""

答案 1 :(得分:6)

您可以使用List.iter函数迭代它,并打印每个元素:

let list = [1;2;3;4]
list |> List.iter (fun x -> printf "%d " x)

更多信息:

答案 2 :(得分:0)

这是使用String.Join的简单替代方法:

open System

let xs = [1; 2; 3; 4]
let s = "[" + String.Join("; ", xs) + "]"
printfn "%A" s