在 PureScript 中将 # 与 Either 类型一起使用

Using # with Either types in PureScript

我喜欢使用 # 通过几个函数传递一个值,因为它使代码更具可读性:

1 # (\n -> n * 2) # (\n -> n + 1)

不过,我想用 Either:

(Right 1) ??? (\n -> n * 2) ??? (\n -> n + 1)

A Right 值应该为每个函数解包,而 Left 值应该简单地通过而不改变。换句话说:

(Right x) ??? f == Right f(x)
(Left x)  ??? f == Left x

这个已经有运营商了吗?

您正在查找 <#>,它是 Functor mapFlipped 的运算符别名。 Either 的 Functor 实例将函数应用于 Right 的内容,但保留 Left 值不变。