我希望简化在多个条件适用时执行单个操作的代码.这是一个简化的例子:
case button
when 'up', 'upper-right', 'right', 'lower-right', 'down', 'lower-left', 'left', 'upper-left'
move_direction(button)
else
do_something_else
end
Run Code Online (Sandbox Code Playgroud)
如果我可以将这些选项封装成类或常量之类的东西,那将会有所帮助,但我不确定如何做到这一点,或者它是否可能.我怎样才能封装这些条件?
你可以使用数组splat.
VALID_DIRECTION = %w( upper-left up upper-right left right
lower-right down lower-left )
case button
when *VALID_DIRECTION
move_direction(button)
else
do_something_else
end
Run Code Online (Sandbox Code Playgroud)