函子运算可以将一个 T 映射到 S 的 function 应用到 Box< T> 上,让其成为 Box< S>, 在盒子中装的是类型,而不是 1 和 "1" 的原因是,盒子中不一定是单个值,比如集合,甚至是更加复杂的多值映射关系。
需要注意的是,并不是随便定义一个签名满足 Box< S> map(Function< T,S> function) 就能让 Box< T> 成为函子的,
1、函数式编程的运算不直接操作值,而是有函子完成。 2、函子就是一个实现了map契约的对象。 3、我们可以把函子想象成一个盒子,这个盒子里封装了一个值。 4、想要处理盒子中的值,我们需要给盒子的map方法传递一个处理值的函数(纯函数),由这个函数对值进行处理。 5、最终map方法返回一个包含新值的函子。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。