【问题标题】:Using Extensions Provided in Dart Packages使用 Dart 包中提供的扩展
【发布时间】:2020-06-25 14:51:18
【问题描述】:

我正在尝试在数据包 (https://pub.dev/documentation/data/latest/) 的 data.polynomial 库中使用 RootsExtension (https://pub.dev/documentation/data/latest/data.polynomial/RootsExtension.html),但我似乎无法将根扩展属性添加到多项式类能够做到polynomial.roots

我什至使用 import 'package:data/src/polynomial/operator/roots.dart'; 导入了扩展名所在的文件,但我仍然无法将roots 属性添加到Polynomial 类。

import 'package:data/polynomial.dart';
import 'package:data/src/polynomial/operator/roots.dart'; //not even used

Polynomial polynomial = Polynomial<double>.fromCoefficients(
    DataType.float64, coeffs);
List<Complex> roots = polynomial.roots; //extension property, roots, not detected

我们将不胜感激任何有关将扩展应用于多项式类的帮助。

如果你好奇扩展文件roots.dart是什么样子的,它是这样的:

library data.polynomial.operator.roots;

import ...

extension RootsExtension<T extends num> on Polynomial<T> {
     List<Complex> get roots {
          ...
          return rootsList;
     }
}

编辑:它现在可以工作了。看来我需要更好地指定多项式变量的类型,需要写Polynomial&lt;double&gt; polynomial = Polynomial&lt;double&gt;.fromCoefficients....

【问题讨论】:

    标签: flutter dart dart-pub


    【解决方案1】:

    我认为您应该首先在您的pubspec.yaml 文件中导入data packages。然后你只需要导入这个:

    import 'package:data/polynomial.dart';
    

    或者基于这个installation guides导入其他附加的东西。

    【讨论】:

    • 我在导入数据包时没有任何问题,我在使用扩展功能向多项式类添加更多功能时遇到了问题
    【解决方案2】:

    它不起作用,因为我没有足够具体地指定多项式变量的类型。我需要做的

    Polynomial&lt;double&gt; polynomial = Polynomial&lt;double&gt;.fromCoefficients( DataType.float64, coeffs);

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-05-27
      • 1970-01-01
      • 2020-02-22
      • 2020-04-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-02-05
      相关资源
      最近更新 更多