我是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#学习功能语言的本质,请提出一些建议!
答案 0 :(得分:2)
%5s
和%-5s
是格式化代码以及指定的宽度和对齐方式。
第一个代码中的连字符将值左对齐。
例如,我有以下两行:
printfn "%-5s %5s" "a" "b"
printfn "%-5s %5s" "yo" "hey!"
打印内容如下:
a b
yo hey!
Here是一个页面,解释了有关printfn
函数的更多信息。整个站点是学习使用F#的绝佳资源。
祝你好运!
PS-关于您添加第3个参数时出现的错误问题,printfn
函数将根据字符串中的格式代码检查您提供的参数的类型和数量。我在前面包含的链接页面中对此进行了解释。