我无法在使用高阶函数时传递参数
I can't pass the argument while using higher order function
Here you can see that I can't pass that string parameter
我不知何故学会了如何在同一个 class 中传递一个方法,但是,当我想从另一个 class 调用它时,我无法传递参数。
这里有几个问题:
introduceMyself
方法接受一个 higher-order 函数,但在它的用法中,您似乎不需要方法本身,而是它的结果。我建议用 name
参数替换 getName
参数并将其转换为常规字符串,该字符串将通过调用所述方法从外部提供。
- 在第 6 行中,您有一个语法错误。由于您使用的是实例 -
person
,您可以将 :: 替换为 .像这样:person.myNameIs("michael")
。它不起作用,因为 :: 传递了你并不真正想要的方法本身。同样,您的代码暗示您需要传递方法的结果而不是方法本身。
最后,您可以传递高阶函数,但不能“带参数”传递它们。您可以执行以下 3 项操作之一:
- 本地调用HOF并传递调用结果
- 传递 HOF 和参数并在需要的任何地方调用它们。
- 传递 HOF 并让目标传递它选择的任何参数。
Here you can see that I can't pass that string parameter
我不知何故学会了如何在同一个 class 中传递一个方法,但是,当我想从另一个 class 调用它时,我无法传递参数。
这里有几个问题:
introduceMyself
方法接受一个 higher-order 函数,但在它的用法中,您似乎不需要方法本身,而是它的结果。我建议用name
参数替换getName
参数并将其转换为常规字符串,该字符串将通过调用所述方法从外部提供。- 在第 6 行中,您有一个语法错误。由于您使用的是实例 -
person
,您可以将 :: 替换为 .像这样:person.myNameIs("michael")
。它不起作用,因为 :: 传递了你并不真正想要的方法本身。同样,您的代码暗示您需要传递方法的结果而不是方法本身。
最后,您可以传递高阶函数,但不能“带参数”传递它们。您可以执行以下 3 项操作之一:
- 本地调用HOF并传递调用结果
- 传递 HOF 和参数并在需要的任何地方调用它们。
- 传递 HOF 并让目标传递它选择的任何参数。