2015-04-06 19 views
1

以下是有關作業問題。不尋找答案,尋找一個澄清SML:函數foldl是否預定義了列表,還是列表可以在這個過程中被累加?

我應該找到第n加泰羅尼亞號碼是基於與我的問題無關的復發rel。

我的問題是:

的功能與foldl需要一個功能,蓄能器,和一個列表

當我申請與foldl,它看起來就像是 與foldl函數名initial_value_for_accumulator列表

我們教授在問題中說以下內容:

實現一個函數Catalan:int -> int其中,當給定一個整數n,計算 第n加泰羅尼亞號碼。要獲得完整信用,請在解決方案中使用高階功能foldl

Foldl必須列出一個列表。所以,問題是:我能否傳遞遞歸過程中正在建立的列表?或者我必須計算列表,然後將其傳遞給foldl?

回答

4

使用遞歸和foldl是不尋常的,特別是在基本練習中。我相信教授告訴你使用遞歸的foldl而不是

正如您所述,這需要您定義一個列表並將其傳遞給foldl。通常,如果您需要循環使用1n之間的數字,您可以從這些數字的列表開始。

相關問題