2013-03-24 1 views
0

Я разрабатываю свое первое приложение с Dart, которое ранее было создано в JavaScript. В своем выступлении в JavaScript я объявлен список, и я придаю значения первых трех позиций, как показано здесь:Как создать список без предопределенной длины и присвоенных им значений в Dart?

serpF var = new List(); 
serpF [0] = 10; 
serpF [1] = 10; 
serpF [2] = 10; 

Как я могу сделать то же самое в Дарта? Я прочитал документацию списков и массивов Сета Лэдда в «http://blog.sethladd.com/2011/12/lists-and-arrays-in-dart.html», и я пробовал все, но это невозможно.

ответ

2

Код javaScript не работает в Dart, так как это ошибка доступа к концу списка. Дарт подобен многим другим языкам, поскольку это способ ловить логические ошибки.

Что вы можете сделать, это добавить элементы в список:

var serpF = new List(); // This list has length == 0. 
serpF.add(10); 
serpF.add(10); 
serpF.add(10); 

Вы можете использовать метод каскады сократить код:

var serfP = []; 
serpF..add(10)..add(10)..add(10); 

Если вы знаете длину, вы могли бы также попробуйте один из других конструкторов списка:

var serfP = new List.filled(3, 10); 
var serfP = new List.generate(3, (i) => 10); 
2

Я дополнение к тому, что говорит Стивен вы также можете сделать:

var serpF = [10, 10, 10]; 

или

var serpF = new List(); 
serpF.length = 3; 
serpF[0] = 10; 
serpF[1] = 10; 
serpF[2] = 10; 
1

Вы можете также использовать List.generate() конструктор:

var list = new List.generate(3, (_) => 10, growable: true); 
print(list); // Prints [10, 10, 10]. 

Первый аргумент задает количество элементов в списке второй arg принимает обратный вызов, чтобы дать каждому элементу значение, а третий arg гарантирует, что список не является фиксированной шириной.

 Смежные вопросы

  • Нет связанных вопросов^_^