Tag: 拉姆达

采访:什么是Lambdaexpression?

我最近有两次电话采访。 在两次采访中,我都被问到是定义一个Lambdaexpression式的最后一个问题。 我声称Lambdaexpression式是一个代表委托的无名方法。 但不知怎的,这还不够。 在电话采访中我很难解释这一点。 有谁知道更好?

参考Kotlin中特定实例的方法

在Java 8中,我们可以引用一个类的实例的方法。 这是一个例子 Function1<Integer, Object> ref = a::getItem; a是具有方法Object getItem(int i)的类Adapter实例。 我们可以在Kotlin做同样的事吗? 我尝试了相同的语法没有成功。 到目前为止,我只能创build一个扩展方法的引用,如下所示: val ref: Adapter.(Int) -> Any = Adapter::getItem 但是在这里我仍然需要一个Adapter的实例来调用它。 我看到的另一种替代方法是定义一个这样的lambda: val ref: (Int) -> Any = { a.getItem(it) }

传递一个lambda作为一个块

我试图定义一个块,我将使用传递多个范围的每个方法。 而不是重新定义每个范围的块,我想创build一个lamba,并传递lambda: count = 0 procedure = lambda {|v| map[count+=1]=v} ("A".."K").each procedure ("M".."N").each procedure ("P".."Z").each procedure 但是,我得到以下错误: ArgumentError:错误的参数个数(1代表0) 来自code.rb:23:在“每个” 任何想法发生了什么?

Rails:named_scope,lambda和blocks

我认为以下两个是相同的: named_scope :admin, lambda { |company_id| {:conditions => ['company_id = ?', company_id]} } named_scope :admin, lambda do |company_id| {:conditions => ['company_id = ?', company_id]} end 但是Ruby抱怨说: ArgumentError: tried to create Proc object without a block 有任何想法吗?

这个每个人都在说的“Lambda”是什么?

这个每个人都在说的“Lambda”是什么? 很多人似乎都喜欢它,但我可以从中得到的仅仅是将大量代码行填充到单个expression式中的一种方式。 有人可以请教我的真正价值吗?

与lambdas一起使用的弱事件处理程序模型

好的,所以这个问题不仅仅是一个问题,而是在回答这个问题 ,把Dustin Campbell , Egor的各个部分和IObservable / Rx / Reactive框架的最后一个提示放在一起之后,我想我为这个特殊问题找出了一个可行的解决scheme。 它可能完全被IObservable / Rx / Reactive框架所取代,但只有经验才会显示出来。 我故意创造了一个新的问题,给我一些空间来解释我是如何得到这个解决scheme的,因为它可能不是很明显。 有很多相关的问题,大多数告诉你,如果你想能够在以后分离它们,你不能使用内联lambdas: .Net中的弱事件? 在C#中使用lambdas解除事件 可以使用lambda作为事件处理程序导致内存泄漏? 如何取消订阅使用lambdaexpression式的事件? 在C#中取消订阅匿名方法 事实上,如果你希望能够在以后分离它们,你需要保留对lambda的引用。 但是,如果您只是希望事件处理程序在订阅者超出范围时自行分离,则此答案适用于您。