5

そうです... F# には IEnumerable.map_with_type... がなくなりました。これは、人々コレクションをマッピングする方法です。どうすればいいですか?

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

ありがとう!

4

2 に答える 2

13

次のように最後の行を書きます。

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

これは、パイプライン演算子を使用してより適切に記述することができます。

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

F# は、適切なターゲット タイプを自動的に判断します (どのようmatchToUrlに見えるかを認識しているため)。これは Seq でのみ使用できるList.of_seqため、データを再度リストに取得するために使用できます。

于 2008-11-20T03:18:18.797 に答える
3

Seq.cast はあなたが探しているものですか?

于 2008-11-19T21:41:18.650 に答える