我在折叠整数元素列表以总结它们时遇到了挑战。
List<int> ints = [1,2,3,4,5];
var result = ints.fold(0, (pV,element)=>pV + element);
print(result);
不知何故,我无法编译这个简单的代码。我不断收到错误:
Error compiling to JavaScript:
Warning: Interpreting this as package URI, 'package:dartpad_sample/main.dart'.
lib/main.dart:19:46:
Error: The operator '+' isn't defined for the class 'Object?'.
- 'Object' is from 'dart:core'.
var result = ints.fold(0, (pV,element)=>pV + element);
^
Error: Compilation failed.
任何帮助
答案 0 :(得分:0)
我不知道为什么,但是如果您明确指定类型,它就可以工作:
var result = ints.fold(0, (int pV, element) => pV + element);
答案 1 :(得分:-1)
由于 pV 是 object 类型而 element 是 int 类型,因此您不能添加它们。
如果需要,您可以执行以下操作:
List<int> ints = [1,2,3,4,5];
var result = ints.fold(0, (pV,element)=>int.parse(pV.toString()) + element);
print(result);