我在哈斯克爾的鍛鍊,我需要創造各種types.The第一類被稱爲有限被這樣定義:功能獲取整型並返回一個列表
type Finite a = [a]
,然後我需要返回的是這樣
singleF :: a -> Finite a
定義一個單身,所以我實現它,像這樣:
single n = [n]
然後下旬R I創建另一種類型的
type Enumeration a = Int -> Finite a
然後我需要重新實現單功能
singleE :: a -> Enumeration a
在我的理解類型Enumeration
是從int到a
類型的列表功能的代名詞,但我無法理解我能如何實現這一點。
從練習(以前的類型'有限'也被稱爲'桶'):An enumeration is an infinite sequence of finite buckets, indexed by natural numbers
。
而且功能單一:I suggest for simplicity that you put the sole item in bucket 0
,所以我在想,int是枚舉
有很多不同的方法可以做到這一點 - 你希望枚舉具有什麼_properties_? (整數是否應該決定列表長度,_maximum_長度,起始位置......或者完全不同的東西) – leftaroundabout
@leftaroundabout練習(以前的類型'Finite'也被稱爲'bucket'): '枚舉是一個無限序列的有限桶,由自然數索引。'而函數單:'我建議爲了簡單起見,你把唯一的項目放在桶0中,所以我認爲'int'是枚舉中桶的索引。 –
您應該將該信息編輯到問題中。 – leftaroundabout