から1つの要素を削除するにはすべての可能な方法は、これは私がこれまで書いてきたものですが、私は失われたビットを得ている:Haskellのリスト
removeone :: [a] -> [[a]]
removeone [] = []
removeone (a:as) = [as] -- I'm lost here
は、これは私が探していた出力の一種でありますfor:
removeone [1,2,3] = [[2,3],[1,3],[1,2]]
removeone [1,2] = [[1],[2]]
この問題を解決するにはどうすればよいでしょうか? Javaでは、これをループして、既存のリストに追加する新しいリストを作成します。私はこれをハスケルに翻訳することでかなり失われている。少し長い例で
'removeone(a:as)= as:map(a :)(removeone as)' – user2407038
@ user2407038回答としてコメントを投稿しないでください。 – chepner
@ user2407038私は答えとして投稿しようとしていましたが、今は気分が悪いです。 –