【发布时间】:2010-03-13 04:35:19
【问题描述】:
我需要在 Erlang 中生成一组坐标。给定一个坐标,比如说 (x,y) 我需要生成 (x-1, y-1), (x-1, y), (x-1, y+1), (x, y-1), (x, y+1), (x+1, y-1), (x+1, y), (x+1, y+1)。基本上除了中间坐标(x,y)之外的所有周围坐标。为了生成所有九个坐标,我目前这样做:
[{X,Y} || X<-lists:seq(X-1,X+1), Y<-lists:seq(Y-1,Y+1)]
但这会生成所有值,包括 (X,Y)。如何使用列表理解中的过滤器从列表中排除 (X,Y)?
【问题讨论】: