所以,我相信我理解纯函数。类似于abs或sqrt的地方,输出依赖于输入并且没有副作用。不过,我很困惑这种方法如何工作。 如果我们将一个方法作为一个带有隐式参数的函数来看,那么我会假定像下面那样的方法确实是纯的。 class Foo
{
int x;
[Pure] public int Bar() { return x * 2; }
}
这是一个正确的假设,该函数是纯粹
我是F#的新手,我正在编写一些小挑战来学习有关该语言的基本细节。由于不可变性,我认为我有一个问题。 场景: 我必须在控制台中读取高度线,每行包含一个整数。该整数代表山的大小。 阅读输入后,我需要写出最高山脉的行数。 如果给出的指数是最高的山,那么大小设置为零,否则我松动。 重复该场景,直到所有的山都将其大小设置为零。 下面的代码我写道: open System
type Mountain =
我正在通过由托马斯Petricek和乔恩Skeet(两个SO大师,顺便说一句,感谢他们两人)优秀的书籍“真实世界功能编程”。 下面的函数,在277页,引入了一个阵列上计算三点平均考虑到侧值作为特殊的人的一种方法: let blurArray (arr:float[]) =
let res = Array.create arr.Length 0.0
res.[0] <- (arr