1

有哪些编程语言、编程语言扩展或其他在操作变量时隐藏变量多样性、调用方法等解决方案的示例?

具体来说,我想象一个系统,其中我有一个单一类型的对象集合,它将透明地转发对象集合上的任何方法调用,以便将方法单独应用于所有对象,包括以有意义的方式使用返回值。最好我希望看到以一种很好的方式做到这一点的语言示例,但如果看到这不起作用的解决方案也可能会很有趣。

我想象这样的事情:

struct Foo
{
    int bar();
}

void myFunction()
{
    // 4 Foo objects are created in a vector
    vector<Foo> vals(4); 
    // The bar() method is applied to each of the Foo objects and each 
    // return an int that is automatically inserted into a new vector
    vector<int> = vals.bar();
}
4

1 回答 1

0

看看 Java 8 流。基本上,您将“流式传输”容器的内容,并向流指示经过的每一件事都应该Foo::bar应用该方法。

vals.stream().forEach(Foo::bar);

许多这些概念来自早期的语言,包括 Lisp(列表处理)。

于 2018-04-14T02:26:57.160 回答