我需要创建一个子函数,它将返回我所有相邻节点,这是我在Scheme中的这个问题所需要的.我是计划新手,不知道如何将两个条件合并为一个测试用例?
基本上我的算法是测试节点是否在边缘.这种情况我使用5x5网格.
如果两个节点都在拐角处意味着两者都等于1或5,那么我将只有2个相邻节点.如果只有一个节点被击中边缘,我将有3个节点返回值.如果节点周围没有边缘,我将有4个节点返回.
我的问题是如何将2个测试用例放在一个子句中?
(define (neighbors l w)
(if (= 1 l) and (= 1 w)
(display l w))) --at top left corner
Run Code Online (Sandbox Code Playgroud)
在这里,我想评估l和w是否都等于1.现在这不起作用,因为我不能在语法中使用"和"或"或"这样的关键字,也不能使用&或+来组合它们.有任何想法吗 ?或者我应该做点什么?
你试过这个:
(define (neighbors l w)
(if (and (= 1 l) (= 1 w))
(display l w))) --at top left corner
Run Code Online (Sandbox Code Playgroud)
因为当我看这个,好像工作方式