隐藏变量多样性的语言示例

时间:2017-12-18 16:39:54

标签: programming-languages generic-programming type-systems multiplicity

编程语言的一些例子,编程语言的扩展或其他解决方案在操作它们时调用多种变量,调用方法等等?

具体来说,我想象一个系统,其中我有一个类型的对象集合,它透明地转发对象集合上的任何方法调用,以便该方法单独应用于所有这些方法,包括以有意义的方式使用返回值。我希望看到能够以良好的方式实现这一目标的语言示例,但是如果解决方案效果不佳也会很有趣。

我想象这样的事情:

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();
}

1 个答案:

答案 0 :(得分:0)

看看Java 8流。基本上,你是&#34; stream&#34;容器的内容,并向流指示通过的每个事物都应该应用方法Foo::bar

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

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