1

如果我有一个F<A, B>,如何将现有的转换Ord<A>为一个Ord<B>

例如:

public class Foo {
    public String name;
}

F<Foo, String> f = new F<Foo, String>() {
    public String f(Foo foo) {
        return foo.name;
    }
};

Ord<String> stringOrd = Ord.stringOrd;

Ord<Foo> fooOrd = ???
4

1 回答 1

2

答案就在 API 中。comap

Ord<Foo> fooOrd = Ord.stringOrd.comap(new F<Foo, String>() {
    public String f(Foo foo) {
        return foo.name;
    }
});
于 2015-01-20T04:03:01.417 回答