私は関数型プログラミングの新機能です。私はScalpelを使ってウェブサイトを削っており、そのウェブサイトに含まれているリンクから情報を抽出する必要があります。私が推測することはリンクの一部に過ぎず、これらのリンクのそれぞれに文字列"http://www.google.com/"
を追加する必要があります。私はString
のリストを持っていないので、普通の++
はできません。HaskellのMonadsのリストに文字列を追加するにはどうすればいいですか?
{-# LANGUAGE OverloadedStrings #-}
import Text.HTML.Scalpel
main :: IO()
main = do
res <- scrapeURL "http://www.whateverLink/" scrapeComic
print res
scrapeComic :: Scraper String [[String]]
scrapeComic =
chroots ("ul" @: ["id" @= "research-teachinglist"]) scrapeLink
scrapeLink :: Scraper String [String]
-- This returns me the parts of the links I want
scrapeLink = (attrs "href" "a")
-- I tried this, but it doesn't work
-- scrapeLink = mapM_ ("http://www.google.com/" ++) (attrs "href" "a")
任意のアイデア:
ここでは、コードですか?
はあなたがattrs "href" "a" :: Scraper String [String]
と
("http://www.google.com/" ++) :: String -> String
を持っていて、の元結果リスト内のすべての
String
の要素に、後者を適用したい
'FMAP(マップにつながる
を持っています( "http://www.google.com/" ++))scrapeLink'がありますが、typeclassopediaをご覧ください。この質問は多かれ少なかれ、SOのトピックではないモナドチュートリアルを求めています。 – Zeta
それはうまくいった!モナドチュートリアルをいくつか見ていきます。ありがとう – BourbonCreams