Я изучаю быстро, и символ _ дает мне много неприятностей. В уроке яблок «Разработка приложений в быстром» уроке №15 мы учимся строить структуры. Я пытаюсь понять разницу между использованием _: представлять безымянный параметр и с помощью _ Строки: представлять что-то (предположительно другой безымянный параметр, но мы даем ему имя?)Какая разница/вариант использования для _: vs _ String: при записи функций
вот мой пример код:
struct Rectangle {
let width: Int
let height: Int
var area: Int {
return width*height
}
func biggerThan(_ rectangle: Rectangle) -> Bool {
return area > rectangle.area
}
}
В то же время, что и мой основной вопрос, я не понимаю, почему эта функция работает либо как (_ rectangle: Rectangle)
, либо (_:Rectangle)
без изменения обратной линии кода.
Ваш код не будет скомпилирован, если вы измените '(_ rectangle: Rectangle)' на '(_: Rectangle)', поскольку вы используете 'rectangle' в теле. – Hamish
hamish, я также подумал, что не будет. Игровая площадка xcode скомпилирована. прямоугольник слова изменился с белого на зеленый, но он по-прежнему запускает код, как ожидалось. –
Не тестируйте на детской площадке - они супер глючные и ненадежные. Протестируйте его в реальном проекте, и вы увидите, что он не компилируется. – Hamish