Returns
文章目录
参考
bind 和 map
bind 和 map_ (returns.pointfree)
bind
- 作用:把入参类型改成 Container 类型
参数:
- Containner[value] -> Contaner[value]
- Containner[value] -> value
让入参可以接收 Containner[value] 类型
- 即,把原始函数
fn(value) -> value转换成new_fn(Container[value])-> value
- 即,把原始函数
map
- 作用: 把入参类型和出参类型都改成 Container 类型
让入参和出参都使用 Container[value]
- 即,把原始函数
fn(value) -> value转换成new_fn(Container[value])-> Container[value]
- 即,把原始函数
map_ 例子 :
| |
注意:
这里 map_(lambda x: x)
- 接收的数据是 Some(12), 从 value –> Some(value)
- 返回的数据是 <Some(12)>, 即 Some(12), 从 value –> Some(value)
bind 例子
| |
注意:
这里 bind(lambda x: x)
- 接收的数据是 Some(12)
- 返回的数据是 12, 即原来 lambda 函数的返回类型 int
这里 bind(lambda x: Some(x))
- 接收的数据是 Some(12)
- 返回的数据是 <Some(12)>, 即原来 lambda 函数的返回类型 Some(int)
contaner.bind 和 container.map
文章作者
上次更新 2024-01-05 (b2a2a64)