4

たとえば、次のようなリストがあります。

["Hello", "Goodbye"]

mapリストで使用したい。

私はmap以前に正常に使用しました:

f = ("example" ++)

それで:

map f ["Hello", "Goodbye"]

リストを作成します:

["exampleHello", "exampleGoodbye"]

しかし、関数でリスト項目を使用するにはどうすればよいfですか?

たとえば、リスト要素を繰り返したい場合は、

["Hello", "Goodbye"]

になるだろう

["HelloHello", "GoodbyeGoodbye"]

map関数f(および)を使用してそれを行うにはどうすればよい++ですか?

4

2 に答える 2

9

やっている

map (\x -> x++x) ["Hello", "Goodbye"]

結果は

["HelloHello","GoodbyeGoodbye"]

として定義fできますf x = (x++x)

于 2011-10-23T17:24:04.650 に答える
7

おそらく、この種のものにはラムダ関数を使用したいと思うでしょう。リストの各項目を調べて、それ自体を複製したものに置き換えます。文字列を複製するのは簡単です\str -> str ++ str:

map (\x -> x ++ x) ["Hello", "Goodbye"]
于 2011-10-23T17:24:24.397 に答える