簡體   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