将 Text.append 映射到列表上,但首先使用列表中的参数 Haskell?

Map Text.append over a list but with the arguments from the list first in Haskell?

基本上,我有一个列表 ["apple", "banana"],我想将 "|4" 附加到列表中的每个参数,这样我就可以得到 ["apple|4", "banana|4"].

我可以 map (Text.append "|4") ["apple", "banana"],但是附加顺序错误,即结果是 ["|4apple", "|4banana"]

有什么好的方法可以告诉 Text.append 在这张地图上朝另一个方向走吗?

有几种方法可以做到这一点。一种方法是使用 flip:

map (flip Text.append "|4") ["apple", "banana"]

您也可以显式使用 lambda:

map (\t -> Text.append t "|4") ["apple", "banana"]

或使用反引号中缀运算符语法:

map (`Text.append` "|4") ["apple", "banana"]