如何引用 Lambda?

2023-12-11

我怎样才能推荐Lambda从它的内部,例如,如果我需要使用myLambda递归地?

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

如果您的意思是要引用您正在定义的 lambda 表达式within那个 lambda 表达式,我不相信有任何这样的机制。我知道有一个few它会很有用的情况 - 基本上是递归定义 - 但我不相信它受到支持。

事实上,您无法在 Java 中捕获非最终变量,这使得这变得更加困难。例如:

// This doesn't compile because fib might not be initialized
Function<Integer, Integer> fib = n ->
      n == 0 ? 0
      : n == 1 ? 1
      : fib.apply(n - 1) + fib.apply(n - 2);

And:

// This doesn't compile because fib is non-final
Function<Integer, Integer> fib = null;
fib = n ->
      n == 0 ? 0
      : n == 1 ? 1
      : fib.apply(n - 1) + fib.apply(n - 2);

A Y组合器在这里会有帮助,但我现在没有精力用 Java 给出一个例子:(

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何引用 Lambda? 的相关文章

随机推荐

  • 为什么 ASP.NET 网站没有 Designer.cs?

    如果我们在 Visual Studio 中创建 ASP NET Web 应用程序 我们可以看到每个 aspx 文件都会有一个关联的自动生成的 aspx designer cs 文件 但对于 ASP NET 网站 每个 aspx 文件只有一个
  • 如何屏蔽具有 RepeatVector() 层的 LSTM 自动编码器中的输入?

    我一直在尝试使用 LSTM 自动编码器获取向量序列的向量表示 以便我可以使用 SVM 或其他此类监督算法对序列进行分类 数据量阻止我使用完全连接的密集层进行分类 我的输入的最短大小是 7 个时间步长 最长的序列是 356 个时间步长 因此
  • _vscprintf 在 Android 上等效吗?

    vscprintf在 Android 上不可用 还vsprintf NULL fmt ap 不起作用 产生段错误 因此似乎无法计算 vsnprintf 成功所需的缓冲区大小 Android sources表明 android log pri
  • “304 Not Modified”到底是如何工作的?

    304 Not Modified 响应是如何生成的 浏览器如何判断HTTP请求的响应是否为304 是浏览器设置的还是服务器发送的 如果由服务器发送 服务器如何知道缓存中可用的数据 以及如何将304设置为图像 我的猜测 如果它是由浏览器生成的
  • Git pre-commit hook:使用 -a 标志提交时如何获取添加/修改的文件

    当我使用 git commit a 提交我的工作时 预提交挂钩中的 git diff diff filter ACM name only cached 无法获取 git 将添加的文件 那么对于这种情况 正确的解决方案是什么 这里的问题是gi
  • 如何禁用/启用对话框负积极按钮?

    请查看下面的自定义对话框 我在对话框上有一个编辑文本字段 如果文本字段为空 我想禁用positiveButton 我可以为文本字段获取 charListener 但我不确定如何设置positivebutton禁用或启用该侦听器 正负按钮的参
  • Apache Flink:如何在摄取时间模式下获取事件的时间戳?

    我想知道是否可以使用Flink的摄取时间模式来获取记录的时间戳 考虑以下 flink 代码示例 https github com apache flink blob master flink examples flink examples
  • 在启用安全管理命令后,Glassfish 5 将无法启动

    输入enable secure admin 命令后 我无法运行 Glassfish 5 我有明确的操作系统 Ubutntu 服务器 16 04 然后我安装 java 8 并下载 zip 文件中的 glassfish 服务器 可能是什么问题呢
  • 如何使用 Graph-API 在 Facebook 中搜索特定位置的所有用户

    我有一个项目 我必须在 Facebook 上搜索所有人 特定位置 然后对数据应用进一步的过滤器 我的问题和问题是 如何使用 Graph API 获取初始数据 我知道这是可能的 使用 Facebook 本身的搜索字段 只需输入 所有居住在 的
  • 如何使用表面视图在用户不知情的情况下捕获图像?

    我想从 Android 相机捕获图像 但用户不知情 public class Capture extends Activity public Uri fileUri public String filepath1 public static
  • doGet 方法完成后 Servlet 是否返回响应?

    显然 doGet方法的返回类型为 void 因此 它不返回任何内容 从这个意义上说 我使用 返回 一词来表示将响应发送回请求它的客户端 我正在尝试实现一个长轮询 Servlet 在我有想要发回的内容之前不发送响应是有益的 因此 在 doGe
  • 我怎样才能让它在 android/iphone 上播放视频?

    update 1 我不太了解 但我想做的是通过 html5 在 android 手机上播放视频 正如其他人所说 我必须使用标签才能做到这一点 结束更新1 updated 这是我的 html 页面上的代码
  • 如何获取我的程序中单击的每个按钮的索引?

    所以我有一个双按钮数组 单击按钮后 我需要能够获取它的索引以用于进一步编码 这是一个类似扫雷的游戏 这是我到目前为止的代码 我有一个双 for 循环来为每个按钮创建一个 Handle 事件 但我不知道如何获取每个按钮的索引 我尝试过 e g
  • UINavigationBar 与 UISegmentedControl 部分覆盖 childViews

    我已经阅读了有关此内容和 Apple 文档的许多其他主题 但尚未找到针对我的特定问题的解决方案 我的应用程序使用UITabBarController as the rootViewController 在其中一个选项卡中我有一个UISegm
  • 迭代器内的元素发生变化

    我想迭代作为成员包含在名为的结构中的向量内的一些元素Test 想法是要变异的Test在每次迭代中都是独立的 如果每次迭代中的某些外部逻辑发生变化 则表示成功Test是成功的 为简单起见 突变只是将向量元素更改为123u8 我遇到的问题是无法
  • 虚拟化 WrapPanel

    WPF 4 是否还包含虚拟化 WrapPanel 或者是否可以轻松地从现有面板派生一个虚拟化 WrapPanel 我想做一个像 Outlook 那样的地址视图 我认为不可能实现具有完全虚拟化的 WrapPanel 在两个方向上 但请检查一下
  • PowerShell - 脚本 1 调用脚本 2 - 如何将值从脚本 2 返回到脚本 1

    我有两个 PowerShell 脚本 一个脚本使用提升的凭据调用另一个 PowerShell 脚本 使用启动进程 但我正在努力解决如何使第二个脚本将输出值返回到第一个脚本 这是脚本 1 使用 script1 psl sender ip 10
  • 去除JS数据结构中的一层嵌套数组

    如何转换以下数据结构 var data time 1 speed 20 to var data time 1 speed 54 我只想删除数组 由于数据是一个数组 您只需选择外部数组的第一个元素 所以解决方案是 var data time
  • 按下或禁用时不要更改 NSButton 的外观

    我有两个 NSButton 其中包含打开状态和关闭状态的图像 一次只能有一个人处于活动状态 单击一个 然后单击另一个以来回更改属性 问题是 如果我在单击按钮时禁用它 以便无法再次单击它 则禁用按钮时图像会变暗 而且我不希望它变暗 我只想使用
  • 如何引用 Lambda?

    我怎样才能推荐Lambda从它的内部 例如 如果我需要使用myLambda递归地 myLambda gt expression how can I refer to myLambda here 如果您的意思是要引用您正在定义的 lambda