История изменений
Исправление olegsov, (текущая версия) :
нет, я о том что в питоне можно вернуть тупль если функция имеет доступ к нескольким полезным значениям. В дарте есть словарь и список конечно, можно их вернуть. но список должен иметь тип элементов, а что если функция должна возвращать 2 элемента разных типов? Можно вернуть List<dynamic>, но это как-то криво и не ограничивает количество элементов. Можно класс определить специально для возврата из функции но это еще хуже на мой вкус.
И вот в дарт3 можно писать так:
(int,int,double) f() { return (1,2,3.0); }
развертка вроде тоже есть final (a,b,c) = f();
Насчет именования полей - не знаю точно как будет работать, но вроде можно имена назначить каждому возвращаемому полю.
Исправление olegsov, :
нет, я о том что в питоне можно вернуть тупль если функция имеет доступ к нескольким полезным значениям. В дарте есть словарь и список конечно, можно их вернуть. но список должен иметь тип элементов, а что если функция должна возвращать 2 элемента разных типов? Можно вернуть List, но это как-то криво и не ограничивает количество элементов. Можно класс определить специально для возврата из функции но это еще хуже на мой вкус.
И вот в дарт3 можно писать так:
(int,int,double) f() { return (1,2,3.0); }
развертка вроде тоже есть final (a,b,c) = f();
Насчет именования полей - не знаю точно как будет работать, но вроде можно имена назначить каждому возвращаемому полю.
Исправление olegsov, :
нет, я о том что в питоне можно вернуть тупль если функция имеет доступ к нескольким полезным значениям. В дарте есть словарь и список конечно, можно их вернуть. но список должен иметь тип элементов, а что если функция должна возвращать 2 элемента разных типов? Можно вернуть List, но это как-то криво и не ограничивает количество элементов. Можно класс определить специально для возврата из функции но это еще хуже на мой вкус.
И вот в дарт3 можно писать так:
(int,int,double) f() { return (1,2,3.0); } развертка вроде тоже есть final (a,b,c) = f();
Насчет именования полей - не знаю точно как будет работать, но вроде можно имена назначить каждому возвращаемому полю.
Исправление olegsov, :
нет, я о том что в питоне можно вернуть тупль если функция имеет доступ к нескольким полезным значениям. В дарте есть словарь и список конечно, можно их вернуть. но список должен иметь тип элементов, а что если функция должна возвращать 2 элемента разных типов? Можно вернуть List, но это как-то криво и не ограничивает количество элементов. Можно класс определить специально для возврата из функции но это еще хуже на мой вкус.
И вот в дарт3 можно писать так:
(int,int,double) f() { return (1,2,3.0); }
не знаю, сделают ли развертку как в питоне a,b = f(x), или только в 4 версии дойдут до этого.
Насчет именования полей - не знаю точно как будет работать, но вроде можно имена назначить каждому возвращаемому полю.
Исходная версия olegsov, :
нет, я о том что в питоне можно вернуть тупль если функция имеет доступ к нескольким полезным значениям. В дарте есть словарь и список конечно, можно их вернуть. но список должен иметь тип элементов, а что если функция должна возвращать 2 элемента разных типов? Можно вернуть List, но это как-то криво и не ограничивает количество элементов. Можно класс определить специально для возврата из функции но это еще хуже на мой вкус.
И вот в дарт3 можно писать так:
(int,int,double) f() { return (1,2,3.0); }
не знаю, сделают ли развертку как в питоне a,b = f(x), или только в 4 версии дойдут до этого.