F#输出要在C#中使用的函数的变量

时间:2015-02-13 09:04:43

标签: f# c#-to-f#

我在f#中编写数学函数,因此可以通过C#代码调用它们。

我写了以下内容,这是一个有成功事件的样本的置信区间计算器。将被调用的函数是ConfidenceIntervalCalculator,其中两个变量x是成功的数量,n是样本大小。

我想输出所有三个变量的上限,下限和转换。输出这些的最佳方法是什么,所以C#可以使用这些?

(我目前已将其作为列表输出,但这是为了检查功能是否正常工作。)

此外,任何关于实际改进功能的评论都表示赞赏。

open System
#light

// Calculates the conversion rate P hat

let phat (x : float) (n : float) = x / n 

// Calculates the interval based on a 95% confidence level using Binomial proportion confidence interval

let binomialconf (n : float) (phat : float)  = 1.96 * sqrt ((1.00/n)*(phat)*(1.00-(phat)))

// Calculates outputs conversion rate with lower and upper interval confidence limit

let interval (x : float) (n : float)  (inter : float) = [for i in  [-1.00 .. 1.00] -> (phat x n + i * inter) * 100.00 ]

//Piping all functions together to use as one complete function. 

let ConfidenceIntervalCalculator (x : float) (n : float) =  phat x n |>  binomialconf n |> interval x n 

1 个答案:

答案 0 :(得分:1)

如果你的函数正好返回3个值,你可以使用元组。

其他选项包括:

  • 将在C#
  • 中视为一个类的记录
  • 一个返回值,另一个是2参考
  • 一个计算3个值的函数,即CPS样式。