我学习Haskell。当我读书时(他们的俄语翻译)我经常看到映射字......我不确定我是否理解它。
根据我的理解:映射 - 这是基于某些旧值获取新值。所以它是带有参数(至少一个)的任何函数或数据构造函数的结果。新值没有义务与旧版本具有相同的类型。
即
-- mapping samples:
func a b = a + b
func' a = show a
func'' a = a
func''' a = Just a
我是对的吗?
答案 0 :(得分:2)
是的,你所理解的是正确的。映射意味着通过将新值应用于某个函数来获取基于旧值的新值。新值可能是也可能不是(旧值)的相同类型。在数学中,单词映射和函数实际上可以互换使用。
还有另一个与映射相关的概念:map
map是一个着名的高阶函数,可以在值列表上执行映射。
λ> map (+ 1) [1,2,3]
[2,3,4]
在上一个示例中,您使用map
函数在每个列表值上应用函数(+ 1)
。