after checking many times, do not know where is wrong
when map a tuple of double to a double, it return nothing
import Data.List
import Control.Monad
import Math.Combinat
import System.IO
import Data.Map (Map)
import qualified Data.Map as Map
let allparams = replicateM 2 [0.0, 1.0]
let a1 = [0.0, 1.0, 1.0, 1.0]
let { op1 :: Map (Double, Double) Double; op1 = Map.fromList [((allparams!!i!!0, allparams!!i!!1), a1!!i) | i <- [0..3] ] }
Map.lookup (0.0,0.0) $ op1
Map.lookup (0.0,0.1) $ op1
Map.lookup (0.1,0.0) $ op1
Map.lookup (0.1,0.1) $ op1
*Main Data.Map Map> Map.lookup (0.0,0.0) $ op1
Just 0.0
*Main Data.Map Map> Map.lookup (0.0,0.1) $ op1
Nothing
*Main Data.Map Map> Map.lookup (0.1,0.0) $ op1
Nothing
*Main Data.Map Map> Map.lookup (0.1,0.1) $ op1
Nothing
meInvent bbird <jobmattcon@gmail.com> writes:
after checking many times, do not know where is wrong
when map a tuple of double to a double, it return nothing
import Data.List
import Control.Monad
import Math.Combinat
import System.IO
import Data.Map (Map)
import qualified Data.Map as Map
let allparams = replicateM 2 [0.0, 1.0]
let a1 = [0.0, 1.0, 1.0, 1.0]
let { op1 :: Map (Double, Double) Double; op1 = Map.fromList [((allparams!!i!!0, allparams!!i!!1), a1!!i) | i <- [0..3] ] }
Map.lookup (0.0,0.0) $ op1
Map.lookup (0.0,0.1) $ op1
Map.lookup (0.1,0.0) $ op1
Map.lookup (0.1,0.1) $ op1
*Main Data.Map Map> Map.lookup (0.0,0.0) $ op1
Just 0.0
*Main Data.Map Map> Map.lookup (0.0,0.1) $ op1
Nothing
*Main Data.Map Map> Map.lookup (0.1,0.0) $ op1
Nothing
*Main Data.Map Map> Map.lookup (0.1,0.1) $ op1
Nothing
Check the data. 0.1 /= 1.0.
<snip>
--
Ben.
Sysop: | Keyop |
---|---|
Location: | Huddersfield, West Yorkshire, UK |
Users: | 293 |
Nodes: | 16 (2 / 14) |
Uptime: | 231:14:55 |
Calls: | 6,624 |
Files: | 12,171 |
Messages: | 5,319,423 |