如何更改 F# 交互式换行符
在 .fs 文件中,换行符由 \r\n
表示,但在 F# 交互窗口中,它是 \n
。
在我当前正在尝试解决的问题中,多行文字字符串的长度很重要。因此,当我在 F# 交互窗口中测试代码时出现问题,因为字符串的长度与正常执行时的长度不同。
我希望有一个选项可以将 F# Interactive 中的换行符“字符”更改为 \r\n
,但我找不到它。有谁知道我可以在哪里实现这一目标,或者其他解决方法?
In a .fs file a newline is denoted by \r\n
, but in the F# Interactive window it is \n
.
In a problem I'm currently trying to solve, the length of a multiple line literal string matters. So a problem arises when I am testing code in the F# Interactive window, because the length of the string is different from in normal execution.
I hope there is an option to change the newline 'character' in F# Interactive to \r\n
, but I can't find it. Does anyone know where I can achieve this, or some other workaround?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您可以使用条件编译来处理此问题:
我不知道如何在 fsi 中更改它。另一种选择是删除或规范化换行符,无论执行环境如何。如果确切的长度如此重要,那么无论如何这样做都可能是件好事。
编辑
如果换行符只是为了可读性,您可以用反斜杠结束每一行。编译时会删除下一行的反斜杠、换行符和前导空格。
这在 VS 和 FSI 中的工作原理相同。我假设您通过
Alt+Enter
或Alt+'
向 FSI 发送一些代码。You can use conditional compilation to handle this:
I don't know of a way to change it in fsi. Another option would be to remove, or normalize, the newlines regardless of the execution environment. If the exact length is that important, it might be good to do anyway.
EDIT
If the newlines are only there for readability, you can end each line with a backslash. The backslash, newline, and leading whitespace on the following line are removed at compile time.
This works the same in VS and FSI. I'm assuming you're sending bits of code to FSI via
Alt+Enter
orAlt+'
.