是一个easir 检查天气的方式上面和下面的地方是空的,或者是if,elsif陈述
的唯一方法即
if maze[i][j-1].to_i == index
maze[i][j-1] = ">"
#down
elsif maze[i+1][j].to_i == index
maze[i+1][j] = ">"
# UP
elsif maze[i-1][j].to_i == index
maze[i-1][j] = ">"
#right
elsif maze[i][j+1].to_i == index
maze[i][j+1] = ">"
end
答案 0 :(得分:0)
不是更容易,但更简洁的方法是制作一些布尔检查方法,如
def up?,def down? etc ..它封装了你在if / elsif中检查的所有逻辑。
类似的东西:
if down?
do the thing
etc..
您也可以尝试使用案例陈述。
答案 1 :(得分:0)
只需构建一组偏移量并测试匹配项:
hi, hj = [ [-1, 0], [1, 0], [0, 1], [0, -1] ].find do |di, dj|
maze[i + di][j + dj].to_i == index
end
if (hi && hj)
maze[i + hi][j + hj] = '>'
end
如果您正在进行大量测试,那么将其定义为内容是有意义的:
UDLR = [ [-1, 0], [1, 0], [0, 1], [0, -1] ]
然后,每次通话都会回收该结构。