powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Получить из функции 2 выходных результата, возможно ли?!
25 сообщений из 57, страница 2 из 3
Получить из функции 2 выходных результата, возможно ли?!
    #39405247
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: javascript
1.
2.
3.
4.
5.
6.
7.
[a, b] = [10, 20];
console.log(a); // 10
console.log(b); // 20

({a, b} = {a: 10, b: 20});
console.log(a); // 10
console.log(b); // 20



Можно было бы еще пару синтаксисов для одного и того же действия разрешить, к примеру:
Код: javascript
1.
2.
3.
|^|^|a, b|^|^| = |^|^|10, 20|^|^|;
console.log(a); // 10
console.log(b); // 20


чо

Впрочем, меня бы это всё равно не заинтересовало, и я продолжал бы писать
Код: javascript
1.
2.
a = 10;
b = 20;


И мне параллельно, что "не параллельно".
...
Рейтинг: 0 / 0
Получить из функции 2 выходных результата, возможно ли?!
    #39405274
avlaxoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gerasimenko,

+++
...
Рейтинг: 0 / 0
Получить из функции 2 выходных результата, возможно ли?!
    #39405312
Фотография defecator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
LocksmithPCJaDiПараллельное присваивание есть в том же джаваскрипте и называется Destructuring Assignment :

Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
var a, b, rest;
[a, b] = [10, 20];
console.log(a); // 10
console.log(b); // 20

[a, b, ...rest] = [10, 20, 30, 40, 50];
console.log(a); // 10
console.log(b); // 20
console.log(rest); // [30, 40, 50]

({a, b} = {a: 10, b: 20});
console.log(a); // 10
console.log(b); // 20



Матерь Б-жья, это за что их так?
этого желают любители сраных генериков
...
Рейтинг: 0 / 0
Получить из функции 2 выходных результата, возможно ли?!
    #39405357
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
defecator,

читаю, охреневаю, и вдруг думаю - что-то мне это напоминает. Показалось что mumps, но нет. Но вообще история интересная. В mumps присванивание
set a=5, b=6
дальше в языках программирования set (let) отвалился, стало
a=5
b=6
или
a=5, b=6
или
a:=5; b:=6;
теперь вдруг кому-то понадобилось "облегчить читаемость кода"
a, b = 5, 6

верной дорогой идете, товарищи! :-)
...
Рейтинг: 0 / 0
Получить из функции 2 выходных результата, возможно ли?!
    #39405358
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
собственно, моя мысль проста. В команде разработчиков языков программирования обязательно должен быть хотя бы один ортодоксальный старый пердун, который будет вовремя бить киянкой по голове излишне ретивых придумщиков.
...
Рейтинг: 0 / 0
Получить из функции 2 выходных результата, возможно ли?!
    #39405368
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Заметно, что в записи

a=5,b=6

символов столько же, сколько и в

a,b=5,6

, но это не современно.
...
Рейтинг: 0 / 0
Получить из функции 2 выходных результата, возможно ли?!
    #39405372
rgreat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdvсобственно, моя мысль проста. В команде разработчиков языков программирования обязательно должен быть хотя бы один ортодоксальный старый пердун, который будет вовремя бить киянкой по голове излишне ретивых придумщиков.Дурные идеи сами отомрут.
...
Рейтинг: 0 / 0
Получить из функции 2 выходных результата, возможно ли?!
    #39405375
_Старый_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
rgreatДурные идеи сами отомрут.
Да. Но пер ортодокс гораздо эффективней.
...
Рейтинг: 0 / 0
Получить из функции 2 выходных результата, возможно ли?!
    #39405388
Фотография makhaon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rgreat,

J# в IDE до сих пор боком вылазит.
...
Рейтинг: 0 / 0
Получить из функции 2 выходных результата, возможно ли?!
    #39405520
Фотография Док
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
makhaon,

+1
...
Рейтинг: 0 / 0
Получить из функции 2 выходных результата, возможно ли?!
    #39405858
Фотография Maxim Rusov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdvсобственно, моя мысль проста. В команде разработчиков языков программирования обязательно должен быть хотя бы один ортодоксальный старый пердун, который будет вовремя бить киянкой по голове излишне ретивых придумщиков.
Вы просто не врубились, что это вообще такое.

X,Y := Y,X;

Красота! Что может быть элегантнее?
...
Рейтинг: 0 / 0
Получить из функции 2 выходных результата, возможно ли?!
    #39405869
Aleksandr Sharahov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
встроенная Swap(X,Y)
...
Рейтинг: 0 / 0
Получить из функции 2 выходных результата, возможно ли?!
    #39405879
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Maxim RusovX,Y := Y,X;

Красота! Что может быть элегантнее?
Чес. говоря, за 15 лет работы ни разу мне не приходилось решать подобную задачу. В школе, 20 лет назад, вроде с такой сталкивался, на "алгоритмическом языке" на листе бумаги.
...
Рейтинг: 0 / 0
Получить из функции 2 выходных результата, возможно ли?!
    #39405897
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuRockЧес. говоря, за 15 лет работы ни разу мне не приходилось решать подобную задачуДа ладно. Ни разу не приходилось менять переменные местами?
...
Рейтинг: 0 / 0
Получить из функции 2 выходных результата, возможно ли?!
    #39405906
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_Vasilisk_Да ладно. Ни разу не приходилось менять переменные местами?
Честно не помню такого. Может, забыл, конечно, но даже представить сложно, когда такое могло понадобиться. У каждого, конечно, свои предпочтения при построении алгоритмов...
...
Рейтинг: 0 / 0
Получить из функции 2 выходных результата, возможно ли?!
    #39405911
Aleksandr Sharahov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuRock,

обошелся без пузырька?
...
Рейтинг: 0 / 0
Получить из функции 2 выходных результата, возможно ли?!
    #39405914
Фотография JayDi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дело не в замене переменных местами. Некоторые функции могут вернуть несколько результатов (например, код ошибки и ее текст). И для того, чтобы не плодить лишние объекты, как раз и используется возврат в виде "массива". Т.е. мы ожидаем от функции два результата:

Код: pascal
1.
resCode, resError := checkMyData();
...
Рейтинг: 0 / 0
Получить из функции 2 выходных результата, возможно ли?!
    #39405921
Aleksandr Sharahov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
сахар
...
Рейтинг: 0 / 0
Получить из функции 2 выходных результата, возможно ли?!
    #39405922
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Aleksandr SharahovYuRock,

обошелся без пузырька?
А, да, точно
...
Рейтинг: 0 / 0
Получить из функции 2 выходных результата, возможно ли?!
    #39405926
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Aleksandr Sharahovобошелся без пузырька?
Но там не переменные переставляются местами, а элементы массива. Для сортировки, тут назначение понятно.
А вот поменять местами тобой же объявленные переменные... Такого не помню.
...
Рейтинг: 0 / 0
Получить из функции 2 выходных результата, возможно ли?!
    #39405928
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuRockне переменные переставляются местами, а элементы массиваВ чем разница?
...
Рейтинг: 0 / 0
Получить из функции 2 выходных результата, возможно ли?!
    #39405929
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
JaDiНекоторые функции могут вернуть несколько результатов (например, код ошибки и ее текст).
В кривом дизайне и не такое возможно.
...
Рейтинг: 0 / 0
Получить из функции 2 выходных результата, возможно ли?!
    #39405931
Aleksandr Sharahov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuRock,

границы отрезка, имя-фамилия, часто рекурсивные алгоритмы...
...
Рейтинг: 0 / 0
Получить из функции 2 выходных результата, возможно ли?!
    #39405933
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_Vasilisk_YuRockне переменные переставляются местами, а элементы массиваВ чем разница?
В том, что ты не полностью процитировал, добавлю окончание

YuRockА вот поменять местами тобой же объявленные переменные...
В случае с массивом такая переменная одна.
...
Рейтинг: 0 / 0
Получить из функции 2 выходных результата, возможно ли?!
    #39405940
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Aleksandr Sharahovграницы отрезка
Я люблю сразу инициализировать, так, как мне нравится: nStart и nEnd, nEnd >= nStart, и дальше не заморачиваться. А не вначале инициализировать, затем сделать проверку и переставить местами, если надо - не вижу смысла и профита.
Aleksandr Sharahovимя-фамилия
Тут как кому нравится. Мне, например, опять же больше нравится иметь неизменные FirstName и LastName, а затем
Код: pascal
1.
2.
3.
4.
if ... then
  Edit.Text := FirstName + ' ' + LastName
else
  Edit.Text := LastName + ' ' + FirstName;


чем поменять местами переменные по условию а затем их использовать.
Aleksandr Sharahovчасто рекурсивные алгоритмы...
не знаю
...
Рейтинг: 0 / 0
25 сообщений из 57, страница 2 из 3
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Получить из функции 2 выходных результата, возможно ли?!
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]