我做,做哈斯克爾:返回值,州和國家的單子
(a->Bool) -> [a] -> State [a] [a]
,我想知道如果有一個簡單的方法去通過列表存儲功能「失敗」那沒項目是否將謂詞作爲狀態和「傳遞」項作爲最終返回的值? 你會看到返回值和狀態。樣品:
*CL> runState (func (<3) [1, 2, 3]) []
([1, 2], [3])
*CL> runState (func even [1, 2, 3]) [10]
([2], [10, 1, 3])
我看着漫長而艱難的答案,並沒有發現在這個具體情況任何東西。我知道我可以像現在這樣做,但我特別想知道我是否可以按照上述方式做到這一點。
我不能讓(通過,失敗)= partitionSt因爲它的狀態[a] [a] – Hkellynewman 2015-04-05 16:37:05
沒有完全回答我的問題,但你確實讓我走上了正確的軌道,通過顯示我可以綁定回報。謝謝 – Hkellynewman 2015-04-05 17:02:46
第一種方法可以簡化,因爲'返回通過'不會做任何事情。只需跳過該行並使用'put failed;返回通過' – dfeuer 2015-04-05 21:17:06