Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/fsharp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Math 在F#中,存储临时结果的正确方法是什么?_Math_F#_Functional Programming - Fatal编程技术网

Math 在F#中,存储临时结果的正确方法是什么?

Math 在F#中,存储临时结果的正确方法是什么?,math,f#,functional-programming,Math,F#,Functional Programming,我必须在F#中编写一个Excel加载项,它会进行一些非常繁重的计算,以便校准一些曲线,作为某些用户定义函数的第一步 作为第二步,我需要重新使用宇宙的表示(第一步中校准的曲线)作为其他函数的参数 当我在一个有状态的过程语言中这样做的时候,我只会返回一个宇宙上的字符串句柄,它将是一个我将存储在内存中的对象。如果我在F#中这样做,我是否打破了函数式语言范式 有没有一种优雅的方法可以在第一步不必重新校准的情况下做类似的事情?这里我使用的是Excel,但这是一个更一般的问题。您的意思是,如果您有用户定义的

我必须在F#中编写一个Excel加载项,它会进行一些非常繁重的计算,以便校准一些曲线,作为某些用户定义函数的第一步

作为第二步,我需要重新使用宇宙的表示(第一步中校准的曲线)作为其他函数的参数

当我在一个有状态的过程语言中这样做的时候,我只会返回一个宇宙上的字符串句柄,它将是一个我将存储在内存中的对象。如果我在F#中这样做,我是否打破了函数式语言范式


有没有一种优雅的方法可以在第一步不必重新校准的情况下做类似的事情?这里我使用的是Excel,但这是一个更一般的问题。

您的意思是,如果您有用户定义的函数a和UDF B,它们都需要调用另一个函数进行校准吗?如果是这种情况,那么听起来你应该记忆校准功能,让A和B使用记忆功能

作为一个侧面的注释,你应该考虑忽略典型的记忆化的学术实现,并且考虑一个。

另一方面,side note-Excel是最广泛使用的函数编程范例之一。

在我的C#实现中,我有一组返回字符串的函数,如“CURVE1.1”“SPLINE2.1”,然后我可以通过另一个函数(例如返回句柄“UNIVERSE1.2”)在宇宙表示中组织它们. 然后我会在第二部分中只传递这个宇宙。我试图理解在函数式语言中做类似事情的正确方法是什么。