gpt4 book ai didi

c# - F# 伤了我的脑子……谁能帮忙把 C# 翻译成 F#?

转载 作者:行者123 更新时间:2023-11-30 13:12:21 25 4
gpt4 key购买 nike

我发现了一个我认为非常适合学习 F# 的快速项目。但是,出于某种原因,我就是无法全神贯注。经过几个小时的教程甚至一些电影后,我仍然只是......不明白。

所以我想开始使用企业管理器“生成脚本”对工作中的存储过程进行版本控制,并想清空脚本日期。我放弃了,用 C# 做了,但现在我真的很好奇,希望能得到一些见解。

我不是空手而归,这是我的 C# 代码:

string path = @"C:\Subversion\CompanyName\SQL\DBName";
string fileSpec = "*.sql";
string pattern = @"Script Date: \d{2}/\d{2}/\d{4} \d{2}:\d{2}:\d{2}";
string replace = "Script Date: ";

foreach (var file in Directory.EnumerateFiles(path, fileSpec))
{
string content = File.ReadAllText(file);

content = Regex.Replace(content, pattern, replace);

File.WriteAllText(file, content, Encoding.Unicode);
}

我猜 F# 中有一些看起来很酷的 2-3 行解决方案...我很乐意看到它。

感谢提示!我更新了它以匹配下面正在做的事情,以使视觉比较可能更具启发性。下面还有很棒的评论。

最佳答案

let path = @"C:\Subversion\CompanyName\SQL\DBName"
let fileSpec = "*.sql"
let pattern = @"Script Date: \d{2}/\d{2}/\d{4} \d{2}:\d{2}:\d{2}"
let replace = "Script Date: "

Directory.EnumerateFiles (path, fileSpec)
|> Seq.iter (fun file ->
let content = Regex.Replace (File.ReadAllText file, pattern, replace)
File.WriteAllText (file, content, Encoding.Unicode))

请注意,您的 C# 代码(编辑:是)也比必要的冗长得多。

关于c# - F# 伤了我的脑子……谁能帮忙把 C# 翻译成 F#?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7907635/

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