6.1.2.2 F# 的管道运算符

728 篇文章 1 订阅
349 篇文章 0 订阅

6.1.2.2 F# 的管道运算符

 

使用管道运算符(|>),能够把函数的第一个参数写在左边,即,在函数名的前面。这是非常有用的,比如,想调用几个函数,处理序列中的值,想要找出第一个处理的值。下面的示例演示了反转 F# 列表,然后,得到一个元素:

 

List.hd(List.rev [1 .. 5])

 

这种写法并不优雅,因为,写的操作顺序与执行的顺序相反,且要处理的值在右边,括在括号中。在 C# 中,使用扩展方法,可能这样写:

 

list.Reverse().Head();

 

在 F# 中,使用管道运算符,能得到同样的结果:

 

[1...5] |> List.rev |> List.hd

 

尽管这看起来可能有点困难,但是,运算符是非常简单的。它有两个参数值:第二个参数值(在右边)是函数,第一个参数值(在左侧)是值。运算符为函数提供参数值,并返回结果。

在某种意义上,管道类似于在对象上使用点表示法,调用方法,但是,它并不局限于对象的固有方法。因此,类似于扩展方法,当通常作为管道运算符使用的 F# 函数,用 C# 来写时,会用扩展方法来实现。

现在,我们已经简短介绍了泛型高阶函数和运算符,终于可以看到如何使用它们解决日常的函数编程问题了,我们将讨论的第一个主题是使用高阶函数处理元组。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值