[Haskell-cafe] Mapping string to a function

Haisheng Wu freizl at gmail.com
Thu Mar 15 07:21:37 CET 2012


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 <saulzar at 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 <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