当前位置:  开发笔记 > 编程语言 > 正文

F#:如何将Map与集合(如Regex Matches)一起使用?

如何解决《F#:如何将Map与集合(如RegexMatches)一起使用?》经验,为你挑选了1个好方法。

秀... F#不再具有IEnumerable.map_with_type ......这是人的方式对集合的映射.我现在该怎么办?

let urlPat = "href\\s*=\\s*(?:(?:\\\"(?[^\\\"]*)\\\")|(?[^\\s]* ))";;
let urlRegex = new Regex(urlPat)
let matches = 
    urlRegex.Matches(http("http://www.google.com"))

let matchToUrl (urlMatch : Match) = urlMatch.Value
let urls = List.map matchToUrl matches

谢谢!



1> Tomas Petric..:

你会像这样写下最后一行:

let urls = Seq.map matchToUrl (Seq.cast matches);;

这可以使用流水线操作符以更好的方式编写:

let urls = matches|> Seq.cast |> Seq.map matchToUrl;;

F#自动确定什么是正确的目标类型(因为它知道什么matchToUrl样的).这仅适用于Seq,因此您可以使用List.of_seq再次将数据导入列表.

推荐阅读
周扒pi
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有