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


Полезное:

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


Категории:

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






Постоянные и Изменяемые Параметры





Параметры функции по умолчанию – константы. Попытки их изменить приведут к ошибке компиляции. Подразумевается что изменение параметра - это ошибка.

 

Однако, иногда нужно что бы функция имела изменяемую копию параметра для работы с ней. Вы можете избежать объявления новой изменяемой переменной внутри функции путём присвоения одному или более параметрам изменяемый вид. В таком случае, параметры доступны как изменяемые (var), а не как константы (let) и дают копии своих значений для изменения функцией в которую они переданы.

 

Назначить изменяемый параметр можно добавив префикс var:

 

func выровнятьВправо(var строка: String, нужнаяДлина:Int, дополнение: Character) -> String {

let сколькоТире = нужнаяДлина -countElements(строка)

for _ in 1...сколькоТире {

строка = дополнение + строка

}

return строка

}

let начальнаяСтрока = "привет"

let конечнаяСтрока = выровнятьВправо(начальнаяСтрока,10, "-")

// конечнаяСтрока равна "-----привет"

// начальнаяСтрока всё ещё равна "привет"

 

Этот пример объявляет новую функцию выровнятьВправо, которая выравнивает переданную строку в правый край, выведенной строки. Всё место слева занято дополнительным знаком тире. Строка "привет"сконвертирована в "-----привет".

 

Функция выровнятьВправо, определяет входному параметру строка быть изменяемым. Это означает, что строка теперь доступна как локальная переменная инициализированная из переданного значения с типом String и может быть использована внутри функции.

 

Функция начинает свою работы с выяснения сколько символов нужно добавить слева в переменную строка в целях достичь нужного предела. Это значение сохраняется как локальная константа, названная сколькоТире. Затем функция добавляет сколькоТире раз значение дополнение слева к начальной строке и выводит результат. Она использует изменяемую переменную параметра для строковых манипуляций.

 

ВАЖНО:

Изменения которые вы проводите с подобно назначенным параметром не сохраняются за пределами каждого раза вызова функции и не заметны вне тела функции. Такой изменяемый параметр существует только в пределах времени выполнения функции и только при её вызове.

 

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



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