很抱歉这个模糊的标题,但这个问题的一部分是这两种语法样式的调用:
let foo1 x =
match x with
| 1 -> "one"
| _ -> "not one"
let foo2 = function
| 1 -> "one"
| _ -> "not one"
Run Code Online (Sandbox Code Playgroud)
另一部分是两者之间的区别,当我想要使用其中一个时?
然而,我在这里寻找的是有用的片段,可重复使用的小"帮助"功能.或者模糊但又漂亮的模式,你永远不会记得.
就像是:
open System.IO
let rec visitor dir filter=
seq { yield! Directory.GetFiles(dir, filter)
for subdir in Directory.GetDirectories(dir) do
yield! visitor subdir filter}
Run Code Online (Sandbox Code Playgroud)
我想把它作为一个方便的参考页面.因此,没有正确的答案,但希望有很多好的答案.
EDIT Tomas Petricek专门为F#片段创建了一个网站http://fssnip.net/.
我已经设法让自己处于一个状态,我没有运行devenv的实例,但后台仍然是MyApp.vshost.exe(没有可见的窗口或控制台).
我已经尝试过TaskManager,ProcessExplorer和命令行(taskkill /F /IM MyApp.vshost.exe),没有人抱怨,命令行甚至说'PID 5824已停止',但它仍然存在.
我知道我可以重启,但我宁愿深究这一点.
它看起来不像是这个问题(http://support.microsoft.com/kb/982551),因为我可以重新启动没问题(事实上,因此无法提供任何进一步的诊断,抱歉).
编辑
这就是我进入这个泡菜的方式:

受到F#中的度量单位的启发,尽管断言(这里)你无法用C#做到这一点,但我还有一个想法,那就是我一直在玩的.
namespace UnitsOfMeasure
{
public interface IUnit { }
public static class Length
{
public interface ILength : IUnit { }
public class m : ILength { }
public class mm : ILength { }
public class ft : ILength { }
}
public class Mass
{
public interface IMass : IUnit { }
public class kg : IMass { }
public class g : IMass { }
public class lb : IMass { }
} …Run Code Online (Sandbox Code Playgroud) 当使用a Guid作为a 的索引时Dictionary,使用该Guid对象或Guid的字符串表示更好吗?
我刚刚重构了一些使用字符串来使用该对象的代码,因为new Guid()遍布整个地方都有调用.但这让我想知道性能问题可能是什么.(这些集合相当小,但它们会被多次迭代.)
我在某些地方读过git(或只是msysgit?)和字符编码有问题- 我相信这只是文件名中的一个问题.
我想要的是一些'权威'(或至少权威)的信息:
我希望这个问题不是太模糊,我认为将所有这些信息放在一个地方以便能够指出人们是很好的...
请你解释一下git中的空白错误,它们是什么意思,什么是'压抑',我需要担心吗?
(运行msysgit,但在linux上与其他用户一起运行).
autocrlf 在这里已经有一个'明确'的答案(设置为false git config --global core.autocrlf false
)
我喜欢打字稿背后的想法,但似乎无法弄清楚如何将它包含在ASP.Net MVC项目中.我已经安装了Visual Studio扩展,但我似乎无法找到有关如何添加*.ts编译成*.js文件的文件的示例或文档.
编辑:实际上,我应该复制Win8示例.jsproj包含和处理.ts文件的方式吗?或者这只适用于HTML/JS Win8项目?
好吧,所以这更像是一个答案而不是一个问题,但在提出这个问题之后,将Dustin Campbell,Egor的各个部分以及" IObservable/Rx/Reactive框架 "中的最后一个提示拉到一起,我想我为这个特殊问题制定了可行的解决方案.它可能会被IObservable/Rx/Reactive框架完全取代,但只有经验才会显示出来.
我故意创造了一个新问题,给我空间来解释我如何得到这个解决方案,因为它可能不会立即显而易见.
有很多相关的问题,大多数人告诉你,如果你想以后能够分离它们,你就不能使用内联lambda:
确实,如果您希望以后能够分离它们,您需要保留对lambda的引用.但是,如果您只是希望事件处理程序在订阅者超出范围时自行分离,则此答案适合您.
c# ×3
f# ×3
.net ×2
git ×2
asp.net-mvc ×1
events ×1
guid ×1
lambda ×1
memory-leaks ×1
msysgit ×1
newline ×1
performance ×1
reference ×1
syntax ×1
typescript ×1
utf-8 ×1
vshost.exe ×1
whitespace ×1