Scala中C#方法组的等价物是什么?
发布时间:2020-12-16 18:22:14 所属栏目:安全 来源:网络整理
导读:在C#中有一个非常方便的东西叫做方法组,基本上不是写: someset.Select((x,y) = DoSomething(x,y)) 你可以写: someset.Select(DoSomething) Scala中有类似的东西吗? 例如: int DoSomething(int x,int y){ return x + y;}int SomethingElse(int x,Funcint,
在C#中有一个非常方便的东西叫做方法组,基本上不是写:
someset.Select((x,y) => DoSomething(x,y)) 你可以写: someset.Select(DoSomething) Scala中有类似的东西吗? 例如: int DoSomething(int x,int y) { return x + y; } int SomethingElse(int x,Func<int,int,int> f) { return x + f(1,2); } void Main() { Console.WriteLine(SomethingElse(5,DoSomething)); } 解决方法
在scala中我们称之为函数;-). (x,y)=> DoSomething(x,y)是一个匿名函数或闭包,但您可以传递任何与您调用的方法/函数的签名相匹配的函数,在本例中为map.因此,例如在scala中,您可以简单地编写
List(1,2,3,4).foreach(println) 要么 case class Foo(x: Int) List(1,4).map(Foo) // here Foo.apply(_) will be called (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |