我正在开发一个Rails项目,该项目对数据库执行查询,然后将结果与用户指定的条件进行比较。这个错误检测过程的内容可以总结如下:
case error_operator
when '<'
if results.row_count < desired_row_count
then # do error-related stuff
else # do other stuff
end
when '<='
if results.row_count <= desired_row_count
then # do error-related stuff
else # do other stuff
end
when '>'
if results.row_count > desired_row_count
then # do error-related stuff
else # do other stuff
end
when '>='
if results.row_count >= desired_row_count
then # do error-related stuff
else # do other stuff
end
when '!='
if results.row_count != desired_row_count
then # do error-related stuff
else # do other stuff
end
when '=='
if results.row_count == desired_row_count
then # do error-related stuff
else # do other stuff
end
end
error_operator变量作为字符串存储在Rails中作为任务对象的属性,因此每个任务可能具有不同的比较器。有没有办法让Ruby识别出一个给定的字符串可以被解析为比较器?如果这是一个选项,我也可以不同地为给定任务存储比较器。我没有写原始代码,所以我没有嫁给它。
谢谢!