[Haskell-cafe] Mapping string to a function
Oliver Batchelor
saulzar at gmail.com
Thu Mar 15 06:26:01 CET 2012
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 <freizl at 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 at haskell.org
> http://www.haskell.org/mailman/listinfo/haskell-cafe
More information about the Haskell-Cafe
mailing list