def set_at

minebender-game@1.0.0.0 · board.bend:106

import minebender-game@1.0.0.0/board.bend as Board
import Base
import minebender-game@1.0.0.0/types.bend as T

106# The grid g with the cell at p replaced by v (unchanged when p is off it).
107def set_at(-A: Data, +g: T.Grid(A), p: T.Pos, v: A) -> T.Grid(A):
108  match p:
109    case T.Pos{x, +y}:
110      row = Maybe.default(&2, List<&2, A>, List.get(&2, List<&2, A>, g, y), Nil{})
111      List.set(&2, List<&2, A>, g, y, List.set(&2, A, row, x, v))

Uses (6)

Used by (67)