Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
List 如何接受基于dart中4个双精度单元格的列表?_List_Dictionary_Dart - Fatal编程技术网

List 如何接受基于dart中4个双精度单元格的列表?

List 如何接受基于dart中4个双精度单元格的列表?,list,dictionary,dart,List,Dictionary,Dart,我的目标如下: const coordinates = { 'one': [10, 15, 30, 40], 'two': [60, 85, 100, 120], ... } 如您所见,坐标是一个地图,其键为字符串,列表值基于4个双精度单元格 我可以告诉Dart坐标是一种: Map<String, List<double>> coordinates = {...} 地图坐标={…} 但是Dart不会强制地图中的每个列表都有4个单元格?我假设可以通过执行a

我的目标如下:

const coordinates = {
  'one': [10, 15, 30, 40],
  'two': [60, 85, 100, 120],
  ...
}
如您所见,
坐标
是一个地图,其键为
字符串
,列表值基于4个双精度单元格

我可以告诉Dart坐标是一种:

Map<String, List<double>> coordinates = {...}
地图坐标={…}

但是Dart不会强制地图中的每个列表都有4个单元格?我假设可以通过执行
assert
来实现,但我不确定map中的语法是如何工作的。

列表的长度不是Dart中类型的一部分,因此无法通过使用类型来强制列表中的项数。相反,我建议您创建一个包含四个值的类,这样可以确保元素的数量是正确的。它还将提高代码的可读性,因为您可以更容易地理解这四个值的原因。

有一种使用断言的方法,即在生产模式下不启用断言:如果要使用断言,必须循环使用所有映射值,即:
assert(map.values.every((e))=>e.长度==4),但实际上没有理由这样做,而不是创建一个只接受4个值的类。