代码之家  ›  专栏  ›  技术社区  ›  Aaron_ab

用下划线符号调用匿名函数

  •  0
  • Aaron_ab  · 技术社区  · 6 年前

    我在练习技巧 _ 符号在 anonymous functions 在斯卡拉。

    我有这个代码(开头与我们的案例无关):

    .map(some_data => SomeObj.do_some(some_data.some_field))
    

    我想知道我能不能用 γ 这里用下划线表示,

    做一些类似的事情:

    .map(SomeObj.do_some(_.some_field)) # it doesn't work..
    

    提前谢谢

    2 回复  |  直到 6 年前
        1
  •  4
  •   Bergi    6 年前

    您尝试的语法将等同于 .map(SomeObj.do_some(some_data => some_data.some_field)) . scala不知道在何处“插入”参数,在何处将表达式包装在函数中:它总是在最内层进行。

        2
  •  1
  •   Puneeth Reddy V    6 年前

    你只能用一次( anonymous-function )每个部分函数。但是当它们被递归调用时,知道在哪里放置是不明确的。 _ . 所以你会得到错误。