Почему функции в некоторых популярных языках возвращают только один тип результата? - PullRequest
6 голосов
/ 16 июля 2010

Почему функции в некоторых популярных языках возвращают только один тип результата?

Т.е. я имею в виду, почему компиляторы выдают ошибку при следующем синтаксисе

public int int  returnTwoIntegers(){
.......
........
}

Ответы [ 13 ]

0 голосов
/ 16 июля 2010

Помогает при чтении исходного кода. Это SOOOOO дружелюбный человек таким образом! Если эта функция будет иметь более одного возвращаемого значения, эта строка не может быть записана:

 if (SomeFunction(a, b) != SUCCESS)
 {
    // do error handling
 }
0 голосов
/ 16 июля 2010

Вы можете сделать это в Perl:

sub foo
{
   return (10, 20);
}

my ($a, $b) = foo();  # sets $a to 10 and $b to 20

И подобные конструкции на других языках.

0 голосов
/ 16 июля 2010

Функция возвращает ответ. Почему она предназначена для получения большего количества ответов?И таким ответом может быть любая структура данных, которая вам нравится, поэтому она может содержать множество значений:)

...