Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
СЕССИЯ ОТВЕТЫ / iOS сессия ответы.docx
Скачиваний:
21
Добавлен:
25.12.2020
Размер:
14.45 Mб
Скачать

28. Функционалдымүмкіндіктер. Функционалдытүрі. Функция аргумент ретінде.

Жалпы, функция дегенімізбағдарламалықжасақтаманыңаталғанбөлігі

бірнешеретқолжеткізугеболатын код. Функциянышақырупроцесіфункциялықшақыру

депаталады. Функциянышақыруүшіноныңатынжәнежақшаныңқұрылымынжазу

керек, мысалыmyFunction () (мұндай функция жоқ, жәнеқоңыраушалуғатырысу)

олсәтсіздіккеұшырайды, бұл тек мысал).

Функцияларкодтыңқайталануынболдырмайды: олартоптасадысілтемежасау

мақсатындажиіқолданылатын кодерекшеесімарқылы.Swiftарқасындакөптеген

стандарттымүмкіндіктер барбұлпроцестіайтарлықтайжеңілдетугежәнежеделдетуге

мүмкіндікбередідаму. Болашақтасізөзіңіздіңқажеттіліктеріңізгебайланысты

функциялардықалайқұруғаболатындығынбілесіз.Кейбірфункцияларшақырылғанкезде

жасаладымүмкінболатындеректердіберугеболады (немесетіптіқажет)ішіндегі

функцияменқолданылады (басыпшығару (_ :) функциясысияқты). Мұндайдеректер

енгізупараметрлерінемесефункция аргументтерідепаталады. Оларжақшада

шақырылғанфункцияныңатауынанкейінкөрсетіледі.

Берілетінкіріспараметрлері бар функционалдышақырулардыңмысалыкелтірілген

4.16 листингінде.

Листинг 4.16

// входной параметр с именем

anotherFunction(name: "Bazil")

// безымянный входной параметр

print("Это тоже входной параметр")

Бұл код anotherFunctionдепаталатынфункциянышақырады

(мұндай функция жоқ, бұл тек мысал)мәтіндікмәні бар кірісаргументініңаты «Базил».

ЕСКЕРТПЕ Егерсіз осы кодтыойыналаңынажазсаңыз, ондаXcodeсізгеқатетуралы

хабарлайды, өйткенімұндай функция әліжоқ, оләліжарияланбаған

Қатетуралыхабарламапайдаболғанкезде, жұмыстерезесініңжоғарғыжағындағыкүй

сызығындаерекшежағдай (қате) болғанынкөрсететінқызылшеңберпайдаболады. Оны

шерткенденавигациялықжолақпайдаболады(солжақта), жобаныңбарлыққателіктері

туралыақпараттықамтиды .Жәнеоләліжоқ, әлі

жарияланбаған

29. Күрделіфункционалды тип. Қайтарумәніретінде функция

Листинг 4.18

varfoo = "Текст для консоли"

print(foo)

Консоль: Текст для консоли

Құрылғанайнымалы (foo) print (_ :) функциясынажіберіледікірісаргументі (кіріс

параметрі), оныңмәнікөрсетіледіконсоль.Сонымен қатар, мәтіннің шығуын біріктіруге

боладыкейбір параметр (немесе параметрлер) мәні бар ақпарат.

Ол үшін мәтіннің қажетті жерінде кері сызық (қиғаш) таңбасын қолдану керек, содан

кейін жақшағашығыс параметрінің атауын көрсету керек (тізім 4.19).

Листинг 4.19

var bar = "Swift"

print("Яизучаю \(bar)")

Консоль: Яизучаю Swift

Сіз print (_ :) функциясынжиіқолданасыз, әсіресе

Swift-те дамудыүйренукезінде. Бұлпараметрлердіңағымдағымәнінбасқарудыңкеремет

әдісінұсынады,соныменқатаралгоритмдеқателердітабудыңқарапайымтәсілдерінің

бірібағдарламаныңжұмысы.

30. Кірістірілгенфункциялар. Функциянышамадантысжүктеу.

Функционалдысипаттамаларкейдекөрсетедіжақшаішіндегіаргументтердіңаттарын,

соданкейінқоснүктені (мысалы, anotherFunction (name :) немесеsomeFunction (a: b :)))

көрсетуарқылыенгізупараметрлерін беру қажеттілігітуралы.

Егеркіріспараметрініңатыболмаса, ондаоныңорнынаастынсызуорналастырылады

(мысалы, жоғарыдакөрсетілген (_ :) функциясымысал бола алады).

Осылайша, goodFunction (_: text :) көрсетеотырып, сізжасайалатыныңыздыайтады

goodFunctionдепаталатынфункциянықолданыңыз, оны екігежіберукерек

енгізупараметрлері: біріншісіндеатыжоқ, ал екіншісінеатмәтініменбіргеөтукерек.

GoodFunctionшақырудыңмысалы (_: text :) төмендекөрсетілген.

goodFunction (21, мәтін: «Сәлем!»)

Басыпшығару (_ :) функциясынаоралайық (4.17 листинг).

Листинг 4.17

// вывод информации на отладочную консоль

print("Привет, ученик!")

Консоль: Привет, ученик!

Жоғарыдағы код түзетуконсолінежіберілгенмәтіндікөрсетедібасыпшығару (_ :)

функциясына.Мәтінніңконсольғашығарылуықайталанғанынескеріңіз

жәненәтижелердіңшығуаймағында, бірақсоныменбіргежолды беру таңбасы (\ n).

Басыпшығару (_ :) функциясы тек мәтінретіндеғанаемес, соныменқатарқабылдай

Аладыжәнекөрсетілгендейерікті параметр (айнымалынемесетұрақты)

4.18 листингінде.

Листинг 4.18

varfoo = "Текст для консоли"

print(foo)

Консоль: Текст для консоли

Соседние файлы в папке СЕССИЯ ОТВЕТЫ