相关疑难解决方法(0)

如何返回多个值并将它们分配给可变变量?

这就是我到目前为止所拥有的.

let Swap (left : int , right : int ) = (right, left)

let mutable x = 5
let mutable y = 10

let (newX, newY) = Swap(x, y) //<--this works

//none of these seem to work
//x, y <- Swap(x, y)
//(x, y) <- Swap(x, y)
//(x, y) <- Swap(x, y)
//do (x, y) = Swap(x, y)
//let (x, y) = Swap(x, y)
//do (x, y) <- Swap(x, y)
//let (x, y) <- Swap(x, y)
Run Code Online (Sandbox Code Playgroud)

f# mutable

11
推荐指数
2
解决办法
4156
查看次数

F#伤害了我的大脑......任何人都可以帮助将C#翻译成F#吗?

我找到了一个快速的项目,我认为这对于学习F#是完美的.然而,由于某种原因,我无法将我的大脑包裹起来.经过几个小时的教程,甚至一些电影,我仍然只是......不明白.

所以我想使用Enterprise Manager"Generate Scripts"开始在工作中对我们的存储过程进行版本控制,并希望删除脚本日期.我放弃了,并在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);
}
Run Code Online (Sandbox Code Playgroud)

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

Thx的提示!我更新了它以匹配下面的内容,使视觉比较更具启发性.下面还有很棒的评论.

c# f# c#-to-f#

3
推荐指数
2
解决办法
621
查看次数

标签 统计

f# ×2

c# ×1

c#-to-f# ×1

mutable ×1