如何更改 F# 交互式换行符

发布于 2024-12-04 00:20:24 字数 257 浏览 1 评论 0原文

在 .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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

灰色世界里的红玫瑰 2024-12-11 00:20:24

您可以使用条件编译来处理此问题:

#if INTERACTIVE
  text.Replace("\n", System.Environment.NewLine)
#endif

我不知道如何在 fsi 中更改它。另一种选择是删除或规范化换行符,无论执行环境如何。如果确切的长度如此重要,那么无论如何这样做都可能是件好事。

编辑

如果换行符只是为了可读性,您可以用反斜杠结束每一行。编译时会删除下一行的反斜杠、换行符和前导空格。

let text = "a\
            b"
printfn "%s" text //"ab"

这在 VS 和 FSI 中的工作原理相同。我假设您通过 Alt+EnterAlt+' 向 FSI 发送一些代码。

You can use conditional compilation to handle this:

#if INTERACTIVE
  text.Replace("\n", System.Environment.NewLine)
#endif

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.

let text = "a\
            b"
printfn "%s" text //"ab"

This works the same in VS and FSI. I'm assuming you're sending bits of code to FSI via Alt+Enter or Alt+'.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文