码迷,mamicode.com
首页 > 其他好文 > 详细

6.4.1 使用 map 函数

时间:2014-10-31 22:19:52      阅读:222      评论:0      收藏:0      [点我收藏+]

标签:io   使用   sp   数据   on   bs   ad   应用   用户   

6.4.1 使用 map 函数

 

我们将使用F# 库中的两个操作,因此,首先要看一下如何使用;然后,讨论如何实现,以及如何在 C# 中使用。我们已经知道,了解 F# 中函数的功能,最好的方法通常是理解类型签名。现在,我们就看一下 Option.map 的类型签名:

 

> Option.map;;

val it : ((‘a -> ‘b) -> ‘a option-> ‘b option) = (...)

 

映射(map)操作通常把给定函数应用到由数据类型所包含的值,以相同的结构包装结果。对于选项(option)类型,当值是 Some 时,给定的函数作为第一个参数值(‘a –> ‘b),将应用到由第二个参数值(‘a option)所包含的值;类型 ‘b 的结果将包装在选项类型内,因此,整体结果的类型是 ‘ b option;如果原始选项类型不包含值,映射函数将返回 None。

我们可以使用这个函数代替嵌套的匹配。读取第二个输入时,我们要“映射”所包含的值到新的值中,并与第一个数相加:

 

match (readInput()) with

| None -> None

| Some(first) -> readInput() |>Option.map (fun second -> first + second)

 

在第三行,我们已经有了用户输入的第一个数字;接着,使用 readInput() 从控制台读取第二个选项值,我们使用 Option.map,把这个值映射到新的选项值,然后,作为结果返回。Lambda 函数作为参数值使用,把第一个值与选项值所包含的数相加(如果有的话)。

 

6.4.1 使用 map 函数

标签:io   使用   sp   数据   on   bs   ad   应用   用户   

原文地址:http://blog.csdn.net/hadstj/article/details/40660021

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!