我想问一下你是否知道这个功能是做什么的:
hasUnassigned :: [Int] -> Bool
hasUnassigned board = isJust $ elemIndex 0 board
Run Code Online (Sandbox Code Playgroud)
我在网上发现了这个功能,我打算用它来帮助绘制数独游戏解决方案.
请问您能告诉我它是如何运作的吗?
Seb*_*edl 11
elemIndex在第二个参数中搜索第一个参数,这是一个列表.如果找到元素,则返回Maybe Int- Just索引,Nothing否则返回.
isJust如果Maybe值为a Just,则返回true;如果值为a ,则返回false Nothing.
换句话说,这是一种非常尴尬的测试是否board包含0的方法.更好的方法是
hasUnassigned board = 0 `elem` board
Run Code Online (Sandbox Code Playgroud)