Главная Случайная страница


Полезное:

Как сделать разговор полезным и приятным Как сделать объемную звезду своими руками Как сделать то, что делать не хочется? Как сделать погремушку Как сделать так чтобы женщины сами знакомились с вами Как сделать идею коммерческой Как сделать хорошую растяжку ног? Как сделать наш разум здоровым? Как сделать, чтобы люди обманывали меньше Вопрос 4. Как сделать так, чтобы вас уважали и ценили? Как сделать лучше себе и другим людям Как сделать свидание интересным?


Категории:

АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника






Тип Функций в роли Типа Возврата Результата





 

Вы можете использовать тип функции в роли типа возврата от другой функции. Сделать это вы можете, написав полный тип функции сразу после стрелки (->) возвращённой функции.

 

Следующий пример объявляет две простые функции с именами шагВперёд и шагНазад. Функция шагВперёд возвращает значение на единицу больше первоначального, а шагНазад на единицу меньше. Обе функции имеют тип(Int) -> Int:

 

func шагВперёд(ввод: Int) -> Int {

return ввод + 1

}

func шагНазад(ввод: Int) -> Int {

return ввод - 1

}

 

Следующая функция - функцияВыборХода, чей тип возврата такой: (Int) -> Int. Функция функцияВыборХода возвращает функцию шагВперёд или шагНазад, основанную на значении параметра назад типа Bool:

 

func функцияВыборХода(назад: Bool) -> (Int) -> Int {

return назад? шагНазад: шагВперёд

}

 

Теперь вы можете использовать функцияВыборХода что бы получить функцию в соответствии с направлением в какую стороны мы должны двигаться:

 

var текущееЗначение = 3

let идтиКНулю = функцияВыборХода(текущееЗначение > 0)

// идтиКНулю теперь соответствует функции шагНазад()

 

Приведённый пример выбирает в положительную или отрицательную сторону нам нужно двигаться что бы изменять переменную текущееЗначение в сторону нуля. текущееЗначение имеет начальное значение 3, сравнениетекущееЗначение > 0 даёт ответ true и заставляет функцияВыборХода использовать функцию шагНазад. Ссылка на выбранную и возвращаемую функцию находится в константе идтиКНулю.

 

Теперь эта константа идтиКНулю отсылает к выбранной правильной функции, которая используется для изменения текущееЗначение в сторону нуля:

 

println("Считаем до нуля:")

// Считаем до нуля:

while текущееЗначение!= 0 {

println("\(текущееЗначение)... ")

текущееЗначение = идтиКНулю(текущееЗначение)

}

println("Ноль!")

// 3...

// 2...

// 1...

// Ноль!

 

Date: 2015-09-02; view: 239; Нарушение авторских прав; Помощь в написании работы --> СЮДА...



mydocx.ru - 2015-2024 year. (0.007 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию