F#printf填充

时间:2018-12-11 14:12:47

标签: f#

我是F#的初学者,以下代码中%-5s和%5s做什么?我以为它可以填充空格,但不确定如何填充?

    printfn "%-5s %5s" "a" "b"

当我尝试printf "%-5s %5s" "a" "b" "v"时 或printf "%-5s %-5s" "a" "b" "c" 这给了我一个类型匹配错误,我不理解语法,似乎没有在打印三个字符串“%-5s%5s”,“ a”和“ b”的串联。似乎在%5s之间放置了“ a”和“ b”。那为什么不能在后面加上“ c”呢?另外,我正在关注有关YouTube的教程:https://www.youtube.com/watch?v=c7eNDJN758U

如果还有其他好的方法可以通过F#学习功能语言的本质,请提出一些建议!

1 个答案:

答案 0 :(得分:2)

%5s%-5s是格式化代码以及指定的宽度和对齐方式。

第一个代码中的连字符将值左对齐。

例如,我有以下两行:

printfn "%-5s %5s" "a" "b"
printfn "%-5s %5s" "yo" "hey!"

打印内容如下:

a        b
yo    hey!

Here是一个页面,解释了有关printfn函数的更多信息。整个站点是学习使用F#的绝佳资源。

祝你好运!

PS-关于您添加第3个参数时出现的错误问题,printfn函数将根据字符串中的格式代码检查您提供的参数的类型和数量。我在前面包含的链接页面中对此进行了解释。