将 Guava 的 Iterables.transform 和 Function 重构为 Cactoos 中的等价物

Refactoring Guava's Iterables.transform and Function to equivalent in Cactoos

我正在将 Google Guava 库的一些用法重构为 Cactoos 库,但我很难找出函数 class 和 [=20= 的等效实现] 方法,使用 Cactoos 库作为替代。

示例(来自 https://github.com/yegor256/rultor/blob/b3e58634d6066f52a2a2c94e44033b37e7e464dd/src/test/java/com/rultor/agents/twitter/TweetsTest.java#L84 ):

new JoinedText(
    " ",
    Iterables.transform(
        repo.languages(),
        new Function() {
            @Override
            public String apply(final Language lang) {
                return String.format("#%s", lang.name());
            }
        }
    )
).asString()

Cactoos 中两者的正确等效实现是什么?

对于映射的迭代有https://github.com/yegor256/cactoos/blob/master/src/main/java/org/cactoos/iterable/Mapped.java class. For function, there are plenty of them in the package https://github.com/yegor256/cactoos/tree/master/src/main/java/org/cactoos/func

这应该有效:

String txt = new JoinedText(
  " ",
  new Mapped<>(
    repo.languages(),
    lang -> String.format("#%s", lang.name())
  )
).asString();