[英]F# int -> int list recursive function
這里是F#的新手,需要一些幫助。 所以問題說寫一個函數
downTo : int -> int list
因此downTo n返回n元素列表[n; N-1; ...; 1]使用if-then-else然后進行模式匹配。
這就是我嘗試過的if-then-else部分的內容
let rec downTo n : int -> int list =
let list = []
if n > 1 then
n :: list
downTo (n - 1)
else
list
因此,我在n :: list處收到一條警告,提示“此表達式應具有'unit'類型,但具有'int list'類型。 使用ignore丟棄結果等。
最后一行錯誤“此表達式應該具有int類型-> int列表,但此處具有類型“ a列表”
我需要一些指導。 第一個問題,在函數的聲明中,應該采用n:int-> int list的方式嗎? 我應該刪除n以便讀取
downTo : int -> int list
像問題陳述中那樣? 我已經嘗試研究了好幾天,並且在任何地方都沒有看到這樣的聲明。 我很困惑 提前謝謝你的幫助。
我認為您誤解了什么是清單。 另外,您不需要注釋。
一個簡單的版本
let rec downto n =
if n > 0 then n :: ( downto n-1) else []
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.