我需要运行一个多次接受两个参数的函数.我有两个包含这些参数的列表,我希望能够使用map或类似的东西用相应的args调用该函数.
我想调用的函数有这种类型:
runParseTest :: String -> String -> IO()
Run Code Online (Sandbox Code Playgroud)
列表创建如下:
-- Get list of files in libraries directory
files <- getDirectoryContents "tests/libraries"
-- Filter out ".." and "." and add path
let names = filter (\x -> head x /= '.') files
let libs = ["tests/libraries/" ++ f | f <- names]
Run Code Online (Sandbox Code Playgroud)
所以我们说names包含["test1.js", "test2.js", "test3.js"]和libs包含["tests/libraries/test1.js", "tests/libraries/test2.js", "tests/libraries/test3.js"]
我想这样称呼它们:
runParseTest "test1.js" "tests/libraries/test1.js"
runParseTest "test2.js" "tests/libraries/test2.js"
runParseTest "test3.js" "tests/libraries/test3.js"
Run Code Online (Sandbox Code Playgroud)
我知道我可以创建一个帮助函数,相当容易地做到这一点,但出于兴趣,是否可以在一行中使用map?
这是我到目前为止所做的,但显然第一个论点总是"测试": …