Насколько я могу судить, функции Swift по умолчанию имеют неназванные параметры, но методы Swift не исключают (исключая первый параметр). Например, учитывая следующие определения:Несколько неназванных параметров в методах Swift
func foo(a: Int, b: Int) -> Int {
return a + b
}
class MyClass {
func bar(a: Int, b: Int) -> Int {
return a + b
}
}
Я должен позвонить foo
с неназванными параметрами:
foo(10, 20) // fine
foo(a: 10, 20) // error
foo(10, b: 20) // error
foo(a: 10, b: 20) // error
и я должен назвать bar
с первым аргументом безымянного, а второй аргумент имени:
MyClass().bar(10, b: 20) // fine
MyClass().bar(10, 20) // error
MyClass().bar(a: 10, b: 20) // error
MyClass().bar(a: 10, 20) // error
Я понимаю, что могу указать любой неназванный параметр, названный с помощью символа #
, но мой вопрос: Есть ли способ сделать оба аргумента bar
неназванным?
Другими словами, я хотел бы объявить bar
таким образом, что я могу назвать его как обычную функцию:
MyClass().bar(10, 20)
Возможно ли это в Swift? Если да, то как?
Спасибо! Это то, что мне нужно. – SelectricSimian
Примечание: В Swift 4 вы должны поставить '_' перед первым аргументом. класс MyClass { FUNC бар (а: Int _ B: Int) -> Int { возврата а + Ь }} вар г = МойКласс() g.bar (3, 4) ошибка: РЕПЛ .swift: 88: 7: ошибка: отсутствует метка «a» в вызове –