2015-07-09 3 views
0

В разделе «Язык программирования Swift» в разделе «Тип функции» говорится: «Поскольку тип параметра и тип возврата могут быть типом типа, типы функций поддерживают функции и методы, которые принимают несколько параметров и возвращают несколько значений . "Тип параметра функции в Swift

Обратите внимание на использование слова« может быть »- означает ли это, что тип параметра может быть чем-то еще? Или тип параметра должен быть только кортежом?

+0

это может быть одно значение –

+0

Я думаю, что этот комментарий больше нацелен на то, чтобы указать, что типы возврата не ограничены единичными значениями любой mor чем аргументы. Кроме того, имейте в виду все, что вы могли бы сказать, все кортежи, одно значение является просто одним кортежем, поэтому каждое значение имеет свойство .0. –

+0

«Одиночное значение может быть добавлено и в 1 кортеж». Я не думаю, что они «продвигаются» по 1 кортежам, так как они являются 1-кортежами, поскольку существует всего один кортеж: «Если в круглых скобках есть только один элемент, тип - это просто тип этого элемента. Например, тип (Int) - это Int, а не (Int). В результате вы можете назвать элемент кортежа только тогда, когда тип кортежа состоит из двух или более элементов ». Excerpt From: Apple Inc.« Быстрый язык программирования (Swift 2 Preerelease) ». –

ответ

1

вы можете вызвать функцию с кортежами с аргументами

например

func sum(a: Int, b: Int) -> Int { 
    return a + b 
} 

вы могли бы назвать это:

let numbers = (40,2) 
sum(numbers) 

или по-старому, как

sum(40,2) 
+0

Основываясь на вашем примере, похоже, что параметры функции с несколькими значениями являются кортежами. – Boon

0

Кортеж означает набор параметров вместо "одиночных" параметров.

По умолчанию это означает одно значение параметра, как это:

func setValue(myValue:Int) { ... } 
setValue(3) 

С другой стороны, кортеж может быть более одного параметра:

func setValues(myValues:(Int,String)) { ... } 
setValues((1, "Hello")) 

Так кортежи возможны, но общий путь должен использовать только одиночные значения

+0

Кортеж также может означать не параметр (пустой кортеж), а один элемент также можно назвать кортежем. Так что технически они могут сделать функциональный параметр строго корневым.Как таковой, мне любопытно, действительно ли что-то еще доступно для использования в качестве параметра функции, но кортеж. – Boon

Смежные вопросы