繁体   English   中英

使用高阶函数时无法传递参数

[英]I can't pass the argument while using higher order function

在这里你可以看到我不能传递那个字符串参数

我不知何故学会了如何在同一个类中传递一个方法,但是当我想从另一个类调用它时,我无法传递参数。

这里有几个问题:

  1. introduceMyself方法接受一个高阶函数,但在它的使用中,您似乎不想要方法本身,而是它的结果。 我建议将getName参数替换为name参数并将其转换为常规字符串,该字符串将通过调用所述方法在外部提供。
  2. 在第 6 行,您有一个语法错误。 由于您使用的是实例person ,因此您可以将 :: 替换为 . 像这样: person.myNameIs("michael") 它不起作用,因为 :: 传递了您并不真正想要的方法本身。 同样,您的代码暗示您需要传递方法的结果而不是方法本身。

最后,您可以传递高阶函数,但不能“带参数”传递它们。 您可以做以下三件事之一:

  1. 在本地调用 HOF 并传递调用结果
  2. 传递 HOF 和参数,并在需要的任何地方调用它们。
  3. 传递 HOF 并让目标传递它选择的任何参数。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM