【发布时间】:2016-08-03 16:43:34
【问题描述】:
我很难理解一个国际象棋骑士问题 功能组成。练习是一个生成器/过滤器/选择器 具有给定包装函数 (knightProblem) 的链,它将所有内容粘合在一起。
我不清楚作为链中第一部分的函数 kGenerator 应该如何处理多个参数:
-- Chess Knight Problem: Generate all Knight moves of length NrMoves
-- that end at the target position
knightProblem :: StartPos -> NrMoves -> TargetPos -> [Moves]
knightProblem = kSelector . kFilter . kGenerator
-- kGenerator: needs StartPos, NrMoves, generates all sequences of length NrMoves
-- kFilter: remove all moves which contain invalid positions
-- kSelector: keep all moves which terminate at TargetPos
kGenerator :: ???
???
我正在寻找有关如何处理此类问题的提示。
最好的问候。
【问题讨论】:
标签: haskell chess function-composition dot-operator