我遇到了這個 Codewars 問題:您的任務是編寫一個高階函數來將一元函數列表鏈接在一起。換句話說,它應該返回一個對給定函數進行左折疊的函數。chained([a,b,c,d])(input)應該產生相同的結果d(c(b(a(input))))我并不關心問題的答案是什么,我可以在網站上訪問它。我實際上需要向我解釋的是第一個功能,“鏈接”。我從來沒有見過這樣的函數,在單獨的括號中包含兩組參數,所以我想我錯誤地解釋了它......這是什么意思?謝謝您的幫助
2 回答

飲歌長嘯
TA貢獻1951條經驗 獲得超3個贊
它不是一個具有兩組參數的函數,而是一個返回另一個函數的函數,依次執行作為參數給出的函數。
如果將該行分成兩行,可能會更清楚:
f = chained([a,b,c,d]) # call `chained` with functions as parameters f(input) # call result of `chained`, which is another function

婷婷同學_
TA貢獻1844條經驗 獲得超8個贊
正如問題中所述,chained
是一個高階函數- 它將采用一個參數 - 函數列表,并將返回/產生一個函數。通過傳遞一個參數(在本例中是另一個函數)來調用該函數input
。
添加回答
舉報
0/150
提交
取消