LINUX.ORG.RU

История изменений

Исправление 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 версии дойдут до этого.