我如何进入F#编程?
有哪些好的入门样本可以学习语言,或者了解一些优于其他语言的优势?
我需要什么工具(例如Windows,Visual Studio,......)?
也许这是微不足道的,但我几个星期都找不到它的答案.它被设置为一些浅灰色,在深色主题中非常麻烦.
我有什么想法可以改变这个吗?如果没有办法改变它,甚至可以禁用它.
关于如何让两个方法相互呼叫(即有A()
呼叫B()
和B()
呼叫A()
),我有点困惑.似乎F#只在代码中遇到它后"看到"该方法,所以如果它没有,它只是说值或构造函数尚未定义.
我错过了一些非常基本的东西吗?
我偶然发现了F#中的这个问题.假设,我想声明两种相互引用的类型:
type firstType =
| T1 of secondType
//................
type secondType =
| T1 of firstType
//................
Run Code Online (Sandbox Code Playgroud)
我该怎么做,所以编译器不会生成错误?
我想知道如何使用惰性函数语言实现调试.
你能使用断点,印刷语句和传统技术吗?这甚至是个好主意吗?
我的理解是纯函数式编程不允许副作用,monad除外.
执行顺序也不能保证.
您是否需要为要测试的每个代码段编写一个monad?我想从这个领域更有经验的人那里了解这个问题.
我正在使用Mac OS X/mono上的fsi学习F#,但是很难知道退出和退出shell的命令.
退出,或^ D不起作用,^ C也不起作用.停止fsi的命令是什么?
一般来说,我在哪里可以找到关于fsi的教程/用户指南?
虽然没有一个真正正确的风格,但C#社区中存在一些关于编码标准/风格的普遍一致意见; 通常,它们是.NET Framework设计指南的变体.
但是,当你研究F#时,标准明显不同于C#中的正常标准.作为一个例子,List或Seq上可访问的函数(几乎)都以小写字母开头:List.fold,List.map(但List.Cons和List.Empty不...),而通常接受的是C#中的方法或属性应该大写.
所以我的问题是,F#有广泛接受的编码约定吗?是否有相当于框架设计指南,或那里的良好编码标准?而且,作为奖励,在基于空白的F#世界中,人们是否有无休止争论的主题,类似于永恒的C#花括号位置?
我想在c#中获得两组int之间的区别.给定s1和s2我想返回那些在s1而不在s2中的int.我可以做一些事情,比如:
List<int> s1 = new List<int>();
List<int> s2 = new List<int>();
foreach (int i in s1)
{
if (s1.Contains(i))
{
//
}
else
{
//
}
}
Run Code Online (Sandbox Code Playgroud)
但我想知道是否有人能指出更清洁的东西.我想做点什么
List<int> omitted = s1.Difference(s2);
Run Code Online (Sandbox Code Playgroud)
不确定是否有任何人可能指出的现有方法或LINQ结构?谢谢.
我希望得到Enum.GetName
一个F#区别联盟成员的等价物.调用ToString()
给了我TypeName + MemberName,这不是我想要的.当然,我可以将它归入其中,但是它安全吗?或许还有更好的方法?