Soo... F# no longer has IEnumerable.map_with_type... which is the way people were mapping over collections. How do I do that now?
let urlPat = "href\\s*=\\s*(?:(?:\\\"(?<url>[^\\\"]*)\\\")|(?<url>[^\\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
Thanks!
you would write the last line like this:
let urls = Seq.map matchToUrl (Seq.cast matches);;
And this can be written in a nicer way using pipelining operator:
let urls = matches|> Seq.cast |> Seq.map matchToUrl;;
F# automatically figures out what is the right target type (because it knows what matchToUrl
looks like). This is available only for Seq, so you can use List.of_seq
to get the data into a list again.
Is Seq.cast what you are looking for?
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With