编程语言的一些例子,编程语言的扩展或其他解决方案在操作它们时调用多种变量,调用方法等等?
具体来说,我想象一个系统,其中我有一个类型的对象集合,它透明地转发对象集合上的任何方法调用,以便该方法单独应用于所有这些方法,包括以有意义的方式使用返回值。我希望看到能够以良好的方式实现这一目标的语言示例,但是如果解决方案效果不佳也会很有趣。
我想象这样的事情:
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();
}
答案 0 :(得分:0)
看看Java 8流。基本上,你是&#34; stream&#34;容器的内容,并向流指示通过的每个事物都应该应用方法Foo::bar
。
vals.stream().forEach(Foo::bar);
许多这些概念来自早期语言,包括Lisp(列表处理)。