代码之家  ›  专栏  ›  技术社区  ›  greenzebra

在Dart中,我如何将算术运算符定义为变量?

  •  0
  • greenzebra  · 技术社区  · 6 月前

    在dart中,我想设置一个加号或减号运算符作为变量。

    var plusOrMinus;
        
        if (x >= y) {
          plusOrMinus = -;
        } else {
        plusOrMinus = +;
        }
    

    我该如何定义 plusOrMinus 这样它就可以这样使用:

    double width = 10.0 plusOrMinus 5.0;

    1 回复  |  直到 6 月前
        1
  •  1
  •   Randal Schwartz    6 月前

    将操作捕获为闭包:

    final operation = x >= y ?
      (a, b) => a - b :
      (a, b) => a + b;
    
    final width = operation(10.0, 5.0);