可能性の重複:私は私の割り当てのこの部分でいくつかの進歩を作るために管理しているが、その一部を添付した
Replace individual list elements in Haskell?アップデート「リストのx番目の要素 - Haskellの
私が作った以下のコード:
module Grid where
data State = On | Off deriving (Eq, Show)
next :: State -> State
next On = Off
next Off = On
type Row = [State]
updateRow :: Row -> Int -> Row
updateRow (r:rs) x
| x == 0 = next r:rs
-- | otherwise = ........????
最後の行に示されているように、私はupd ateRowは、以下に示すようにx = 0のときに働きます(0番目の要素が反転しています)。
*Grid> updateRow [Off,Off,Off,Off] 0
[On,Off,Off,Off]
*Grid>
このリストの他の要素を反転すると、すべてが元に戻ります。私はこの関数で式を「ジェネラル化」することはできません。事前に
updateRow :: Row -> Int -> Row
ありがとう:
は、私はまた、このタイプの規則に従わなければなりません。
updateRowを再帰的にしてみてください。ここで何をしたいのかははっきりしない。 – aleator
'slice'関数を見てください。 – abesto
' slice'関数がトラックに入っていません。 – maclunian