博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
F# ≥ C# (Tuple and Swap)
阅读量:5742 次
发布时间:2019-06-18

本文共 658 字,大约阅读时间需要 2 分钟。

在F#中,有一个被称为的概念,“元组”是一些未命名但经过排序的值的分组,这些值可能具有不同的类型,这篇文章就来将它与C#之中的交换(Swap)做一次比较。

F#,作为一门新兴的语言,相比C#来说,有它更为简单的实现方式,它能让代码变得更加的简洁,也能减少程序的bug,这就是我如此喜欢F#的原因。接下来我们举一些例子来描述F#比C#做的更好的地方,今天这一篇我们谈谈元组与交换之间的区别。

Swap是我能想到的最简单的操作,现在,我想要一个通用的交换方法,它能处理任何类型,在C#中,你可以使用对象类型或者泛型来实现,但无论如何,你必须使用一个临时变量(虽然有些方法可以不通过临时变量来实现这个功能,但不太容易想到或者看懂),然而,F#则能够很简单的实现这个功能:

let swap(a,b) = (b,a)

传递的参数是(a,b)然后我们可以直接得到返回值(b,a),这难道不简单么?

唯一令我感到迷惑的是(a,b)是一个特殊的类型,这就是元组(Tuple),因此,你可以这么理解,在实现交换功能的时候只需要一个单独的参数这就是元组。

元组也支持超过2个参数的方式,这样,你也可以做如下交换:

let swap2(a,b,c,d,e) = (a,c,b,e,d)

同时,你也可以在元组中按你自己的意愿做任意的交换。

注:此文为译文,如有兴趣请查看blogspot中博主的原文:

 

转载于:https://www.cnblogs.com/Jennifer/archive/2012/11/07/2759053.html

你可能感兴趣的文章
分布式文件存储的数据库——Mongodb
查看>>
UNIX/Linux C 程序员需要掌握的七种武器
查看>>
[mongodb]数据库备份与还原
查看>>
【Oracle】利用在线重定义的方式改变普通表为分区表
查看>>
轻松自动化---selenium-webdriver(python) (十一)
查看>>
带你实现开发者头条APP(四)---首页优化(加入design包)
查看>>
【程序5大区】堆、栈、自由存储区、全局/静态存储区、常量存储区
查看>>
docker based cloud thinking
查看>>
Scala Learning(1): 使用Pattern Matching表达JSON
查看>>
数据挖掘中的概念描述
查看>>
区块链软件公司:跨境收单领域的应用
查看>>
flutter 学习使用自定义view并添加手势动作
查看>>
从零搭建自己的Vue管理端框架(五)
查看>>
Git 从入门到精通
查看>>
iOS利用cocoapods 和GitHub组件化序Day2
查看>>
Grid布局
查看>>
LeetCode每日一题: 二分查找(No.704)
查看>>
Python基础知识
查看>>
排序算法
查看>>
前端基础:CSS盒模型(1)
查看>>