我有一个程序需要支持“用户选项”来确定它将如何覆盖文件,用户可以从“选项”中进行选择,这可能会导致多种组合,从而难以编写所有可能的“IF...ELSE 语句” ,这个复杂的结果评估很难编码,而且太长了,也让我抓狂!
我希望通过某种“解析”来解决这个问题,以更快、更有机的方式评估所有可能的结果,而无需长链 IF...ELSE 块
这是我的程序选项中的内容:
例如:用户选择覆盖文件并选择选项“文件大小”并选择“>=”作为此选项的条件,并且还选择了“文件日期”加上“<=”,并选择了“或”,选择的所有选项都会产生类似“FILE >= x”或“FILE DATE <= x”的结果。
鉴于屏幕截图上的选项,用户可以创建各种可能的逻辑选项并使用“OR”和“AND”组合它们,还可以选择“>”、“<、>=、<=、=、<> ”。
这个小屏幕背后的复杂性是巨大的,我一直在研究如何解决这个问题,我听说过称为 Lambda 表达式和二叉树的东西,但我不知道它是否适用于我的问题,我想至少有有人指出我正确的方向,我什至不知道在谷歌搜索答案时如何正确分类我的“问题”:)
在此先感谢大家!