过滤字符串,避免复杂性



我有字符串'test1'和允许值'test1 test2 test3。是一个函数返回字符串,如果它是在数组的值,以避免复杂的if或case ?

'test1'.function(['test1', 'test2', 'test3']) => test1
'test2'.function(['test1', 'test2', 'test3']) => test2
'test5'.function(['test1', 'test2', 'test3']) => nil

您可以创建自己的方法,如

def return_present_value(val)
allow_values = ['test1', 'test2', 'test3']
val if allow_values.include? val
end

return_present_value('test1')将返回test1

return_present_value('test5')返回nil