我是新手--F#,一般编程和这个社区.我是一名数学家,在我的本科生中接触过计算机科学.我正在尝试在F#中完成一些任务,而"F#Cheat Sheet"展示了在不解释重复的情况下构成函数的三种不同方式.以下是链接中的相关信息,以了解我的意思.
该 let 关键字还定义了一个名为功能.
let negate x = x * -1
let square x = x * x
let print x = printfn "The number is: %d" x
let squareNegateThenPrint x =
print (negate (square x))
Run Code Online (Sandbox Code Playgroud)
管道运算符 |> 用于将函数和参数链接在一起.双重反引号标识符便于提高可读性,尤其是在单元测试中:
let ``square, negate, then print`` x =
x |> square |> negate |> print
Run Code Online (Sandbox Code Playgroud)
组合运算符 >> 用于组合函数:
let squareNegateThenPrint' =
square >> negate >> print
Run Code Online (Sandbox Code Playgroud)
通过检查和在VS F#中进行交互的功能:
看来这是完成同样事情的3种方法的清单,这里有什么细微差别吗?我相信,给定相同的int它们都会返回相同的int,但是超出它的范围呢?我没看到什么?这三种方法各有哪些优缺点?
2和3都使用"运算符",1似乎是组成函数的通常的"数学"方式,以便从旧函数中创建新函数.我怀疑选项3真正等效于1(在某种意义上,>>运算符被定义square >> …
f# ×1