2016-11-25 5 views
0

私はhaskellを初めて使い、これを理解できないようです。私はメスのスクラップツールを使用していて、たくさんのURL拡張子をURLに連結したいと思っています。[string]のすべての要素に文字列を連結します。haskell

たとえば、私たちは、文字列

result =["/contact","/content"] 

のリストにいくつかのURLの拡張を掻き取っていると私たちは私がリストに到着しない方法

websiteURL = "www.website.com" 
を聞かせてきた?言うことができますか

["www.website.com/contact", "www.website.com/content"] 

答えて

2
map ("aaa"++) ["bbb", "ccc"] 
==> [ "aaabbb", "aaaccc" ] 
+0

これは私には少し気分が良くなります。私は正しい行にあったが、構文が間違っていた。 –

0

あなたは拡張子のリストを横断し、それぞれに関数を適用したいので、mapのいくつかの種類が必要です。適用したい

機能がwebsiteURL文字列を追加することで、その答えは次のとおりです。

map (mappend websiteURL) result 

あなたがmappend機能を知らなかった場合、あなたはMonoid a => a -> a -> aためhoogle検索して、それを見つけることができます。

(もっと抽象的なタイプに一般化するようにしましょう...)

+1

'mappend'関数が分からない場合は、' Monoid a => a - > a - > a'という型シグネチャが出てくるとはどうでしょうか?そして、この場合、 'String - > String - > String'の自然型シグネチャ検索では、結果のリストのかなり遅くまで適切な関数をリストしません。 –

関連する問題