我有办法
def press_button(*key_buttons)
# some interaction to send button
end
我用这个有说法::shift
,:tab
,:backspace
等我想这个方法有一个固定的说法,这样的别名press_shift
将代表press_button(:shift)
。是否有可能做到这一点?或者,我是否必须像下面这样包装此方法:
def press_shift
press_button(:shift)
end
def press_tab
press_button(:tab)
end
def press_backspace
press_button(:backspace)
end
我想我已经为自己的问题找到了解决方案。method_missing
红宝石钩会帮助我。
def method_missing(method_name, *args)
if method_name.intern.include?('press')
argument = /_(\w*)$/.match(method_name.intern)[0]
press_button(argument.intern)
else
super
end
end
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句