我是 F# 初学者,下面代码中的 %-5s 和 %5s 有什么作用?我认为它提供了空间填充,但我不确定它是如何填充的?
printfn "%-5s %5s" "a" "b"
当我尝试 printf "%-5s %5s""a""b""v"
或 printf "%-5s %-5s""a""b""c"
这给了我一个类型匹配错误,我不明白语法,它似乎没有打印三个字符串“%-5s %5s”、“a”和“b”的连接。它似乎在 %5 之间放置了“a”和“b”。那为什么我不能在后面加上“c”呢?另外,我正在关注 Youtube 上的教程:https://www.youtube.com/watch?v=c7eNDJN758U
如果有其他好的F#学习函数式语言精髓的资源,请多多指教!
最佳答案
%5s
和 %-5s
是格式化代码以及指定的宽度和对齐方式。
第一个代码中的连字符将值左对齐。
例如,我有以下两行:
printfn "%-5s %5s" "a" "b"
printfn "%-5s %5s" "yo" "hey!"
打印的内容如下:
a b
yo hey!
Here是一个详细解释 printfn
函数的页面。整个站点是学习使用 F# 的绝佳资源。
祝你好运!
PS - 至于您关于添加第三个参数时出错的问题,printfn
函数将根据字符串中的格式代码检查您提供的参数的类型和数量。这在我之前包含的链接页面中有解释。
关于F# printf 填充,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53725977/