如何在dart中取消字符串的缩放(转换为非字符串)?

如何在dart中取消字符串的缩放(转换为非字符串)?,dart,Dart,String x='5+6' 如何计算上面的字符串以使其产生结果。5+6等于11。如何从上面的字符串中获得该结果 import 'dart:isolate'; void main() async { var sumString = '5 + 6'; final uri = Uri.dataFromString( ''' import "dart:isolate"; void main(_, SendPort port) { port.send($

String x='5+6'

如何计算上面的字符串以使其产生结果。5+6等于11。如何从上面的字符串中获得该结果

import 'dart:isolate';

void main() async {
  var sumString = '5 + 6';

  final uri = Uri.dataFromString(
    '''
    import "dart:isolate";

    void main(_, SendPort port) {
      port.send($sumString);
    }
    ''',
    mimeType: 'application/dart',
  );

  final port = ReceivePort();
  await Isolate.spawnUri(uri, [], port.sendPort);

  final int response = await port.first;
  print(response);
}
这是基于

另请注意:

请注意,您只能在JIT模式下执行此操作,这意味着您可能从中受益的唯一地方是Dart VM命令行应用程序/包:构建脚本。它在颤振发布版本中不起作用

这是基于

另请注意:

请注意,您只能在JIT模式下执行此操作,这意味着您可能从中受益的唯一地方是Dart VM命令行应用程序/包:构建脚本。它在颤振发布版本中不起作用


或者,您也可以使用该软件包:

或者使用更简单但功能更少的功能:

import 'package:expressions/expressions.dart';

void main() {
  String x = '5 + 6';
  print(solve(x)); // 11
}

int solve(String expr) =>
    const ExpressionEvaluator().eval(Expression.parse(expr), null) as int;

这两个软件包都应使用颤振。

或者,您也可以使用该软件包:

或者使用更简单但功能更少的功能:

import 'package:expressions/expressions.dart';

void main() {
  String x = '5 + 6';
  print(solve(x)); // 11
}

int solve(String expr) =>
    const ExpressionEvaluator().eval(Expression.parse(expr), null) as int;

这两个软件包都可以使用flifter。

你能帮我找到它吗?有什么线索可以帮我找到它的来源吗@JulemanD101我添加了一个使用两个不同软件包的例子。你能帮我找到这个问题吗,我应该查找的源代码有什么线索吗@julemand101I添加了一个答案,并举例说明使用两个不同的软件包。有没有办法将其与颤振集成?有包裹吗@LesiakCheck我的回答:它在颤振发布版本中不起作用。有没有办法将它与颤振集成?有包裹吗@LesiakCheck我的答案:它在颤振发布版本中不起作用。