Программирование : Dart & Flutter по-русски
Igor
учитывая, что у меня бэкграунд из бэкенда, срать в firestore я не планирую :)
Igor
[
{
"type": "pre",
"text": "flutter: The method 'map' was called on null.\nflutter: Receiver: null\nflutter: Tried calling: map (Closure: (dynamic) => Widget)",
"language": ""
}
]
???????
[
{
"type": "link",
"text": "https://dart.dev/guides/language/language-tour#cascade-notation-"
}
]
Анатолий
Две точки вместо одной
???????
Если хотите, могу проверить у себя такую запись.
Анатолий
Две точки - действие не дальше по цепочке а на предидущем узле
Igor
ну он из этого узла должен вернуть this вместо того, что приходит от выполнения. нет?
Анатолий
Тебе сорт надо сделать на результате toList а ты делая .. Выполняешь сорт на том у кого вызывал toList
Анатолий
Перенеси две точни на операцию ниже
Igor
[
{
"type": "pre",
"text": "flutter: The method 'map' was called on null.\nflutter: Receiver: null\nflutter: Tried calling: map (Closure: (dynamic) => Widget)",
"language": ""
}
]
???????
Сча, ребят, запущу студию и все порешаю, кто прав, кто не прав)
Анатолий
А если убрать сорт то все работает хорошо?
Igor
вот так да, все работает
Igor Katsuba
Так все же понятно
Igor Katsuba
sort ничего не возвращает
Igor Katsuba
А сортирует на месте
Igor
а как заюзать .., чтоб нормально вернуло?
Анатолий
Все правильно, по этому и пытаемся две точки а не одну использовать
Igor Katsuba
У map надо тоже две точки
Igor
тогда на выходе будет List
Анатолий
Не тоже а только
Анатолий
И оно тоже не работает
Анатолий
Сорт одна точка а все что дальше две чтоб использовало не результат сорта а то откуда сорт вызывался
Анатолий
Ща фокс придет и порешает
Анатолий
Мне тоже интересно что не так
Igor
[
{
"type": "link",
"text": "https://dartpad.dartlang.org/5323491956e4e29ed27b781453c7a534"
}
]
Анатолий
Короче тут даблточка не подойдет
Анатолий
Я затупил, для ее использования нужна готовая переменная валидная, у тебя ее технически нет
Анатолий
Конкретно в твоей ситуации да
Анатолий
Почему ты сортируешь в середине а не в конце?
Анатолий
Тогда бы все работало норм
Igor
где в конце? у меня последний map уже виджеты делает
Анатолий
То был риторический вопрос ??
???????
Ну что, все, сдались?)
???????
Можно решение показывать или еще подумаете?)
???????
[
{
"type": "mention",
"text": "@igorz"
}
]
Igor
показывай, меня в принципе устраивает мой вариант))
Igor
но нормальный тоже интересен
???????
Сори, оформлено не очень симпатишно, но суть, я думаю, понятна
Анатолий
Этот сложней в восприятии
Igor
ну т.е. как Анатолий и сказал, сделать так, чтоб sort оказался в конце
Анатолий
Не на столько я люблю две точки
???????
[
{
"type": "link",
"text": "https://dartpad.dartlang.org/0f4c182950895f7033d26204911dad6a"
},
"\nКласс и данные отсюда"
]
Анатолий
Тулист за основу взял
Анатолий
Но у него ж там мап
???????
[
{
"type": "code",
"text": ".map ((A a) => Text(a.toString()))"
}
]
???????
[
"В статье про каскадную нотацию показывается этот фокус, только не очень явно)\n",
{
"type": "link",
"text": "https://dart.dev/guides/language/language-tour#cascade-notation-"
},
""
]
Анатолий
Получается Игорь правильно сказал
Анатолий
А мы его игнорили ??
Анатолий
А если после мапа что-то еще будет то придется группировать их просто точками
Igor
в общем, мне все равно мой способ нравится больше))
Igor
если уж выбирать между этими двумя
Igor
но интересно, спасибо
???????
Вообще, я вам предлагаю оформить у своего класса фабрику виджета.
???????
Это не решает конкретной проблемы, но мб покрасивше будет.
Igor
[
"типа ",
{
"type": "code",
"text": "project.toListWidget()"
},
" ?"
]
Igor
да, но формально это уже мапа
Igor
я же его сам не паршу
???????
[
{
"type": "code",
"text": "factory Project.toListTile()"
},
"\nвроде так"
]
Igor
он тогда Project и должен вернуть
???????
Ой, виноват, кругом виноват, да
???????
[
"В общем наши мучения я добавил в гист:\n",
{
"type": "link",
"text": "https://dartpad.dartlang.org/0f4c182950895f7033d26204911dad6a"
},
""
]
Aleksey
[
"участвую в хакатоне ",
{
"type": "link",
"text": "https://xn--b1aaqfxbbhefb3bya5f.xn--p1ai/"
},
" и делаю бэкенд на дарт)))"
]
Slava Marchenko
Не делайте так. Это противоречит кое каким принципам
Анатолий
Принципам каким?
(;?_?) Ivan Zhuravlev ???>?
кое каким
Анатолий
А, ну тогда ладно
Анатолий
Вопросов больше нет
(;?_?) Ivan Zhuravlev ???>?
???>?
???????
Вообще тут может быть только 2 не очень критичных "против": 1) строить виджеты функцией не очень хорошо (вроде как влияет на производительность в дальнейшем, но сам тесты не делал) 2) если у вас отдельно Model, то туда придется импортировать flutter_widgets Сам так не делаю, ляпнул не подумав, но вроде и криминала в этом нет.
Igor
Model отдельно, имхо, импортить виджет в модель - это фуфуфу
Анатолий
Фабрики предполагаются для создания еденичных сущностей, я думаю он это имел ввиду
???????
Ну и про фабрики тоже я ляпнул не подумав, виноват-дурак-исправлюсь) Вечер субботы сказывается)
Анатолий
Ну, на самом деле идея норм, если суть просто вынести создания виджетов отдельно, так что не парься
???????
Ну да, примерно это и хотел сказать, но чемуто выдал околесицу)
Анатолий
Но с другой стороны, а если виджет будет коллекцией?
Анатолий
Все тогда логично
Vsevolod
dart2aot вообще работает под винду?
Vsevolod
'C:\Program' is not recognized as an internal or external command, operable program or batch file. 'C:\Program' is not recognized as an internal or external command, operable program or batch file.
Vsevolod
при том что просто dart bin/main.dart работает
Igor
а расскажите, что подключить надо, чтоб DateTime юзать
Анатолий
Попробуй запускать с убунтовского терминала винды
Анатолий
Если у тебя 10 конечно
Анатолий
Или если нет попробуй запусти с гит терминала
Анатолий
Гит ведь я надеюсь есть?
Анатолий
Аче у тебя ошибки тайпскрипта?
Igor
ага, я что-то сам не могу понять прикола
Анатолий
Расширение файла точно dart? ??
Анатолий
Привычки они такие
Igor
когда быстрее набрать расширение файла, чем найти dart в списке. но иногда бывает осечка)
Vsevolod
ни через обычную гитовую консоль
Анатолий
А подскажи что именно ты делаешь что ошибка? Судя по описанию он валится на указании пути, конкретно program files ибо там пробел
Анатолий
Можешь попробовать взять в кавычки
Vsevolod
пишу это dart2aot bin/main.dart bin/main.dart.aot
Vsevolod
просто пример из доки
Vsevolod
[
{
"type": "link",
"text": "https://dart.dev/tutorials/server/get-started#8-compile-for-production"
}
]
Анатолий
Ага, тогда похоже глюк глубже
Анатолий
Попробуй поставь дарт в убунте виндовой через апт, там все будет по другому
Vsevolod
но это я так просто проверял как он компилится
Vsevolod
меня больше флаттер интересует))
Анатолий
Винда в целом не самый лучший инструмент для разработки )
Vsevolod
поэтому и хочу с .net слезнь на чтото другое
Vsevolod
вот думаю на мобилки особенно на flutter
Vsevolod
а там и мак куплю
Анатолий
.нет уже не привязан к винде с появлением кор
???????
[
"Если что, на венде dart накатываю через choco\nПакет называется ",
{
"type": "code",
"text": "dart-sdk"
},
""
]
Vsevolod
да в курсе я, только нормальная студия только под винду как была так и есть)))
Vsevolod
да и не в этом дело
Vsevolod
просто хочу с шарпа свалить
Анатолий
Шарп крутой, остальное будет бесить после него ??
Vsevolod
а шарп постепенно в java превращается
???????
Чот вы вообще все в кучу мешаете
???????
Какой еще раст в контексте флатера и .net?)
Анатолий
Раст никакой по сравнению с шарпом
Анатолий
Если учитывать их как языки
Анатолий
Шарп один из лучших
???????
Интерфейсы на wpf - бомбезнейшие выходят
Анатолий
Дык кор и можно веб писать на нем
???????
[
"ну я в курсе про ",
{
"type": "link",
"text": "asp.net"
},
" и замарин"
]
Vsevolod
ладно офтоп уже пошел)))
???????
Но замарин - чойто фу, но зато под тайзен сосунга можно)
Анатолий
Админы спят, оффтоп идет ??
???????
[
"А ",
{
"type": "link",
"text": "asp.net"
},
" - ну такое, не великолепно, но сгодится)"
]
Анатолий
Кстати, чисто теоретически если поставить еще один дарт в куданить в с:/дарт то должно сработать, пути будут без пробелов. Но это так, если хочется поэкспериментировать
Slava Marchenko
Разделение модели и вьюшки
Vsevolod
Короче разобрался это косяк в виндовом инсталлере от комьюнити который. снес дарт сдк, установил шоколад, поставил дарт через шоколад и все работает.
Vsevolod
[
{
"type": "link",
"text": "http://www.gekorm.com/dart-windows/"
}
]
Олжас Сулеймен
оно работает же норм
Олжас Сулеймен
без проблем
Vsevolod
dart2aot не работал
Олжас Сулеймен
бек пишите
Олжас Сулеймен
он только в 64
Vsevolod
меня вообще флаттер интересует, а на счет бека просто оф руководство прошел чтоб хоть запусить компиляцию
???????
Яж вчера еще сказал через choco ставить
Vsevolod
ну я видел, я просто предположить не мог что в этом дело
Vsevolod
тем более как я понимаю инсталятор от комьюнити скорее всего просто пути хреново прописал
Sunny
[
{
"type": "mention",
"text": "@PlugFox"
},
" Ну первое понятно, обычные события, как и везде, а вот 'Демонстрация работы с потоками', что-то немного странное"
]
???????
Ну пути и сами в переменных системы могете прописатб
Vsevolod
это понятно, но в оф руководстве могли бы про это сказать, а раз не сказали то долно было быть само
Sunny
[
"Про то что ты вчера кидал - ",
{
"type": "link",
"text": "https://dartpad.dartlang.org/0022b93c0756e7eb8232d3fd4e43b9c8"
},
""
]
Олжас Сулеймен
return; ??
Sunny
Та в целом понятно все, просто на восприятие очень странно, после шарпа.
Sunny
[
{
"type": "mention",
"text": "@PlugFox"
}
]
???????
Так, и?) Без него будет работать, я иногда проставляю ретёны, чтоб обозначить функцию как процедуру.
Анатолий
Проблема была не в том что нет путей, они устанавливаются норм, а именно в самом аот компилере походу, он валится если в пути есть пробел
???????
[
"а, ну я делаю пути максимально емкими и без пробелов, чтоб удобно консолью добираться.\n\nЛюто батхерчу от ",
{
"type": "code",
"text": "Program Files (x86)"
},
" венды"
]
Sunny
А на винде разве нет \ к пробелам?
Sunny
[
{
"type": "mention",
"text": "@PlugFox"
},
" А map это я так полагаю что-то типа Linq в C#?"
]
???????
Linq это многофункциональная и довольно мощная штука
???????
а map позволяет обойти коллекцию и перекастить её эллементы.
???????
[
{
"type": "link",
"text": "https://api.dartlang.org/stable/2.3.1/dart-core/Iterable/map.html"
}
]
Sunny
Ну фактически тот же Linq, просто там целая либа уже с готовыми решениями
???????
там язык запросов над коллекциями, отдающий очень сильно SQL
???????
А map это лишь отдельный метод Iterable, хоть и довольно полезный.
Anton ?? ? ??
[
{
"type": "code",
"text": "Copyright 2013 The Flutter Authors. All rights reserved"
}
]
Anton ?? ? ??
[
{
"type": "link",
"text": "https://github.com/flutter/engine/blob/master/shell/platform/darwin/common/buffer_conversions.h"
}
]
.
Кому-то попадались простые и хорошие видео уроки по 2dimensions (желательно на русском) ? Хочу девушку с фотошопа пересадить на на эту штуку ??
Анатолий
Можно начать, как ни странно, с их сайта
Анатолий
На русском можно только университетский курс проходить
Семён undefined
с фотошопа? зачем?
Семён undefined
сейчас просто так зашел в 2dimensions
|