我对* mapping *的理解是否正确?

时间:2015-01-30 09:58:34

标签: haskell

我学习Haskell。当我读书时(他们的俄语翻译)我经常看到映射字......我不确定我是否理解它。

根据我的理解:映射 - 这是基于某些旧值获取新值。所以它是带有参数(至少一个)的任何函数或数据构造函数的结果。新值没有义务与旧版本具有相同的类型。

-- mapping samples:
func a b = a + b 
func' a = show a
func'' a = a
func''' a = Just a

我是对的吗?

1 个答案:

答案 0 :(得分:2)

是的,你所理解的是正确的。映射意味着通过将新值应用于某个函数来获取基于旧值的新值。新值可能是也可能不是(旧值)的相同类型。在数学中,单词映射和函数实际上可以互换使用。

还有另一个与映射相关的概念:map

map是一个着名的高阶函数,可以在值列表上执行映射。

λ> map (+ 1) [1,2,3]
[2,3,4]

在上一个示例中,您使用map函数在每个列表值上应用函数(+ 1)