如何推荐Lambda? [英] How to refer a Lambda?

查看:156
本文介绍了如何推荐Lambda?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如果,例如,我需要递归使用 myLambda ,我如何从其中引用 Lambda

  myLambda  - > {expression} 
// ^^^^^^^^^^我怎么能在这里引用myLambda?


解决方案

我误解了你的问题。以下是递归调用lambda表达式的方法:

  import java.util.function。*; 
public class Test
{
static Function< Integer,Integer> fib = null;

public static void main(String [] args)
{
fib = n - >
n == 0? 0
:n == 1? 1
:fib.apply(n - 1)+ fib.apply(n - 2);
System.out.println(fib.apply(8));
}

}

这会产生输出21. / p>

我借用了Jon Skeet的例子并进行了必要的修改以使其正常工作。



你可以找到另一个递归lambda表达式的示例此处


How can I refer a Lambda from inside of it, if, for example, I need to use myLambda recursively?

myLambda -> {expression}
//           ^^^^^^^^^^ how can I refer to myLambda here?

解决方案

I misunderstood your question. Here's how you call a lambda expression recursively :

import java.util.function.*;
public class Test
{
    static Function<Integer, Integer> fib = null;

    public static void main (String[] args)
    {      
        fib = n ->
              n == 0 ? 0
              : n == 1 ? 1
              : fib.apply(n - 1) + fib.apply(n - 2); 
        System.out.println(fib.apply(8));
    }

}

This produces the output 21.

I borrowed the example from Jon Skeet and made the changes required to make it work.

You can find another example of a recursive lambda expression here.

这篇关于如何推荐Lambda?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆