Size: a a a

Dart & Flutter по-русски

2021 March 09

Д

Денис in Dart & Flutter по-русски
?
источник

.K

.Pasha Kruzenshtern in Dart & Flutter по-русски
Здравствуйте! Есть ли какая-то разница в этих двух строчках, или под капотом это одно и то же?
List a = [...b.map((e)=> SomeWidget(e))];
List a = b.map((e)=>SomeWidget(e)).toList()
;
источник

Д

Денис in Dart & Flutter по-русски
под капотом не одно и тоже, но результат будет тот-же
источник

.K

.Pasha Kruzenshtern in Dart & Flutter по-русски
Денис
под капотом не одно и тоже, но результат будет тот-же
Есть какие-то случаи когда предпочтительно использовать одно за место другого?
источник

Д

Денис in Dart & Flutter по-русски
в первом создается массив а потом добавляется с помощью addAll каждый елемент map, а во втором получаешь итерабл и кастишь его в лист
источник

Д

Денис in Dart & Flutter по-русски
используй второй вариант, первый нужен если у тебя лист еще состоит из других элементов
источник

Д

Денис in Dart & Flutter по-русски
вот если бы a = [...b.map(...),...c.map(...)]
источник

Д

Денис in Dart & Flutter по-русски
тогда первый
источник

.K

.Pasha Kruzenshtern in Dart & Flutter по-русски
Окей, спасибо)
источник

EA

Eugene Alitz in Dart & Flutter по-русски
Народ, столкнулся со странным поведением:
Есть такой вот код:
var chunks = getSplitPacketBytes(commandPacket);
       Log.info(tag,'chunks $chunks');
       for (var chunk in chunks) {
         Log.info(tag,'CHUNKS $chunks');
         Log.info(tag,'TRY TO WRITE CHUNK $chunk');
         await bleService.writeCharacteristic(chunk);
       }
источник

EA

Eugene Alitz in Dart & Flutter по-русски
Но на выходе получаю:
CHUNKS:
[[50, 0, 0, 0, 67, 245, 136, 166, 231, 19, 65, 60, 185, 214, 143, 11, 151, 11, 118, 46], [3, 1, 1, 242, 50, 28, 10, 16, 67, 245, 136, 166, 231, 19, 65, 60, 185, 214, 143, 11], [151, 11, 118, 46, 16, 153, 190, 228, 180, 129, 47, 24, 255, 1]]
TRY TO WRITE CHUNK [50, 0, 0, 0, 67, 245, 136, 166, 231, 19, 65, 60, 185, 214, 143, 11, 151, 11, 118, 46]

————————-
CHUNKS [[50, 0, 0, 0, 67, 245, 136, 166, 231, 19, 65, 60, 185, 214, 143, 11, 151, 11, 118, 46], [1, 1, 1, 242, 50, 28, 10, 16, 67, 245, 136, 166, 231, 19, 65, 60, 185, 214, 143, 11], [151, 11, 118, 46, 16, 226, 189, 228, 180, 129, 47, 24, 255, 1]]
TRY TO WRITE CHUNK [1, 1, 1, 242, 50, 28, 10, 16, 67, 245, 136, 166, 231, 19, 65, 60, 185, 214, 143, 11]
———————-
CHUNKS [[50, 0, 0, 0, 67, 245, 136, 166, 231, 19, 65, 60, 185, 214, 143, 11, 151, 11, 118, 46], [2, 1, 1, 242, 50, 28, 10, 16, 67, 245, 136, 166, 231, 19, 65, 60, 185, 214, 143, 11], [151, 11, 118, 46, 16, 143, 190, 228, 180, 129, 47, 24, 255, 1]]
TRY TO WRITE CHUNK [2, 1, 1, 242, 50, 28, 10, 16, 67, 245, 136, 166, 231, 19, 65, 60, 185, 214, 143, 11]
источник

EA

Eugene Alitz in Dart & Flutter по-русски
Проблема в том, что начиная со второго чанка меняется первый эелемент массива
источник

EA

Eugene Alitz in Dart & Flutter по-русски
Вместо 3 появляется 1, потом он вдруг инкрементируется на 2 и так до 3
источник

DS

DVS Studio in Dart & Flutter по-русски
что это вообще
источник

EA

Eugene Alitz in Dart & Flutter по-русски
Хотя я нигде этот массив чанков не изменяю
источник

EA

Eugene Alitz in Dart & Flutter по-русски
DVS Studio
что это вообще
Работа по BLE, отправка сообщений
источник

EA

Eugene Alitz in Dart & Flutter по-русски
Массиб байтов
источник

DS

DVS Studio in Dart & Flutter по-русски
мистическая ф-я getSplitPacketBytes
источник

DS

DVS Studio in Dart & Flutter по-русски
подозреваю что дело не в выводе в консоль
источник

EA

Eugene Alitz in Dart & Flutter по-русски
DVS Studio
мистическая ф-я getSplitPacketBytes
Она отрабатывает один раз перед циклом
источник