4

定义接受可选参数的 lambda 函数时遇到问题。奇怪的是,如果我使用完整的“函数”语法,匿名函数可以工作,但 lambda 速记/箭头语法会产生如下错误:

  • 当前范围内不存在名称“a”
  • 提供的参数与调用目标的任何签名都不匹配
  • 预期的 ')'

例子:

(function (a, b?) => { console.log(a, b); })("a"); // OK
((a, b?) => { console.log(a, b); })("a", "b");     // Errors
((a, b) => { console.log(a, b); })("a", "b");      // OK
4

2 回答 2

9

这是编译器中的一个错误,现在正在修复 [v0.8]。Lambda 目前提供带有可选参数和剩余参数的错误消息。如果这是一个阻塞问题,请使用长函数语法。

于 2012-10-06T21:26:40.600 回答
3

目前在胖箭头 lambda 表达式中存在可选参数注释的错误。

于 2012-10-06T21:25:07.510 回答