gpt4 book ai didi

c# - C# 中的重要空格,如 Python 或 Haskell?

转载 作者:太空狗 更新时间:2023-10-29 20:36:57 24 4
gpt4 key购买 nike

<分区>

我想知道是否有任何其他 C# 开发人员会发现为 csc.exe 提供编译器指令是一种改进让空格变得有意义,就像 Haskell 或 Python 那样,空格的种类创建代码块。

虽然这肯定与 C-style languages 有很大的不同,在我看来,由于 C# 最终被编译为 CIL (仍然会有花括号和分号),它实际上只是编译器可以处理的一种解析技巧(也就是说,它可以处理或不处理重要的空格)。由于 curl 和分号通常是进入 C# 的障碍,而且它们实际上只是解析帮助程序(它们本身并不赋予您的代码意义),因此可以像 Haskell/Python 那样删除它们。

F# 使用 #light 编译器指令处理此问题,您可以在 Lightweight syntax option in F# 1.1.12.3 中阅读该指令.

我希望在 C# 中看到相同的东西:一个 #SigSpace 或一些这样的指令,它会指示 csc.exe 将源代码视为空格方面的 Haskell 文件(就像一个示例)。

标准 C#:

public void WhiteSpaceSig()
{
List<string> names = new List<string>();
List<string> colors = new List<string>();

foreach (string name in names)
{
foreach (string color in colors)
{
// bla bla bla
}
}
}

重要的空白:

#SigSpace

public void WhiteSpaceSig()

List<string> names = new List<string>()
List<string> colors = new List<string>()

foreach (string name in names)
foreach (string color in colors)
// bla bla bla

我并不是说我想要在 C# 中使用它,但我对权衡是什么很感兴趣。我的猜测是,大多数 C# 开发人员已经习惯了这种语法,以至于他们看不出它有多人工(尽管它最终可能会使代码更易于阅读)。

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com