Thanks Oliver. That's good enough. I was ever curious about whether parse String to the function rather than a mapping.
-Haisheng On Thu, Mar 15, 2012 at 1:26 PM, Oliver Batchelor <saul...@gmail.com> wrote: > You could store your test data in a named map e.g. > > import qualified Data.Map as M > import System > > testSets :: M.Map String [Int] > testSets = M.fromList > [ ("testdata", testdata) > , ("testdata2", testdata2) > ] > > f :: Int -> Something > f = .... > > main = do > [arg] <- getArgs > > case M.lookup arg testSets of > Just testSet -> print (map f testSet) > Nothing -> print "Test set not found!" > > On Thu, Mar 15, 2012 at 12:59 PM, Haisheng Wu <fre...@gmail.com> wrote: >> Hi there, >> Do you have any comments / suggestions for the following scenario? >> >> I have two list and a function over list >> testdata :: [Int] >> testdata2 :: [Int] >> f testdata = map g testdata >> >> What I like to do is choosing what test data via command line arguments. >> i.e. test.hs testdata2 will run against testdata2 >> >> I could make it using pattern match between argument and data >> definition but it is annoy. >> code here: >> https://github.com/freizl/dive-into-haskell/blob/master/sandbox/one-in-arith-seq.hs >> >> I'm wondering it can be done simply in haskell. >> >> Thanks a lot. >> -Haisheng >> >> _______________________________________________ >> Haskell-Cafe mailing list >> Haskell-Cafe@haskell.org >> http://www.haskell.org/mailman/listinfo/haskell-cafe _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe