我经常使用以下性质的代码
ret = function_call( arguments )
return -1 if ret == -1
ret = another_function_call( arguments2 )
return -1 if ret == -1
... pattern repeated several times
等一个接一个。我想知道如果在函数调用周围返回-1 = ret == 1,如果函数返回-1或者继续,则返回-1时,是否还有另一种包装返回-1的方法
答案 0 :(得分:0)
有点干吗?像
这样的东西def call_func(_method, arguments)
raise "your exception" if send(_method, arguments) == -1
end
call_func(:function_call, arguments)
call_func(:another_function_call, arguments2)
答案 1 :(得分:0)
return_minus_one_on_one = Proc.new do |method_name, arguments|
return -1 if send(method_name, arguments) == 1
end
return_minus_one_on_one.call("function_call", arguments)
return_minus_one_on_one.call("function_call2", arguments)