如何在列和行中打印表fsharp?

时间:2017-09-29 09:41:06

标签: f#

如何在列和行中打印表fsharp?

for j = 0 to 10 do

  printfn "%d " j
  printfn "%d" (sum j)
  printfn "%d" (simpleSum j)

1 个答案:

答案 0 :(得分:2)

在不知道您想要的输出的情况下,我们无法告诉您完全您想要写什么,但我们可以告诉您可以放在一起的基本构建块以获得您想要的内容

首先,有两个功能,printfprintfnprintfn版本会在其打印的文本末尾打印换行符,而printf则不会。所以你可能想要的是:

printf "%d " j
printf "%d" (sum j)
printfn "%d" (simpleSum j)

其次,您实际上可以将多个%代码放入单个printfprintfn调用的格式字符串中,并在格式化后将所有要打印的值作为参数传递串。 (确保%代码的数量与您提供的值的数量相匹配)。 。E.g,:

printfn "%d %d %d" j (sum j) (simpleSum j)

最后,%printf中的printfn代码也可以在字母前加一个数字,以表示最小部分字符数文本应该占用。如果文本比那么多字符短,则会用空格填充以填充长度。如果它会更长,它将不会被截断。 E.g:

printfn "%5d" (2 + 2)   // Will print "    4"
printfn "%2d" (20 * 20) // Will print "400", because it will not truncate

此外,您可以在格式编号前放置一个0来填充零而不是空格:

printfn "%03d" (2 + 2)   // Will print "004"

或者您可以在格式编号前放置一个-,使填充空间位于通常的另一侧:

printfn "%5d" (2 + 2)   // Will print "    4"
printfn "%-5d" (2 + 2)  // Will print "4    "

将所有这些部分组合在一起,您应该能够尝试并找出如何打印所需的表格输出。