Почему функции в некоторых популярных языках возвращают только один тип результата?
Т.е. я имею в виду, почему компиляторы выдают ошибку при следующем синтаксисе
public int int returnTwoIntegers(){ ....... ........ }
Помогает при чтении исходного кода. Это SOOOOO дружелюбный человек таким образом! Если эта функция будет иметь более одного возвращаемого значения, эта строка не может быть записана:
if (SomeFunction(a, b) != SUCCESS) { // do error handling }
Вы можете сделать это в Perl:
sub foo { return (10, 20); } my ($a, $b) = foo(); # sets $a to 10 and $b to 20
И подобные конструкции на других языках.
Функция возвращает ответ. Почему она предназначена для получения большего количества ответов?И таким ответом может быть любая структура данных, которая вам нравится, поэтому она может содержать множество значений:)