Функції, computercraft російська вікі вікі, fandom powered by wikia

Введення в функції.

Що таке функції? правити

Функції - це корисний інструмент, який допомагає спростити код, розділяючи його по функціональності і зменшуючи повтори. Розуміння функцій - це ключ до перетворення в успішного кодера. У Lua визначення функцій в основному виглядає так:

Але в деяких випадках може виглядати як звичайна змінна:

Зауважте, що тут ми не використовуємо дужки "()", оскільки ми використовуємо OldFunctionName в якості змінної, а не функції.

Як використовувати функції? правити

Швидше за все, якщо ви слідували навчання з самого початку, ви вже використовували функції (в навчанні Hello World). Без стандартних вбудованих функцій, таких як write () і print (), було б неможливо взаємодіяти з користувачем. Коли ви бачите дужки після назви змінної, ви розумієте, що це функція.

В якості нашого першого прикладу ми напишемо просту функцію, яка буде використовувати write ():

Якщо ви успішно написали і запустили цей скрипт, він повинен вивести "I am writing text to the screen!" на екран. Зауважимо, що у функції є ім'я змінних в дужках. Це називається "аргументом" і буде важливим для ваших функцій пізніше. Це може бути будь-яку кількість аргументів, розділених комами. Аргументи можуть бути змінної будь-якого типу, включаючи інші функції. Також дуже важливо викликати ваші функції після того, як ви їх визначили, інакше ви отримаєте помилку "attempt to call nil".

Додайте наступні рядки до вашого коду:

Це передасть логічне значення вашої функції і викличе помилку, коли виконання досягне write (), який не може використовувати логічне значення. Щоб виправити це, нам потрібно перевірити, якого типу змінна була передана. Спробуйте перетворити свою функцію, щоб вона виглядала так:

Функція "type" повертає вам рядок з типом змінної, яку ви в неї передасте. В цьому випадку, якщо змінна не строкова, буде виконаний "return". Return буде описаний пізніше в цій статті, але на даний момент все, що нам потрібно знати, що воно завершує функцію, тому будь-який код після неї не буде виконаний. Якщо ви запустите свій скрипт зараз, ви побачите, що нічого очікувати помилки, коли буде спроба використовувати логічне значення. Фактично, не відбудеться зовсім нічого, що не може бути прийнятно. Змініть рядок з перевіркою, щоб вона виглядала так:

Якщо ви запустите свій код знову, ви побачите, що вона видає помилку, коли досягає логічного значення. Різниця між цим і звичайної командою error (), що викликається звичайною помилкою, в тому, що це не викличе виходу з коду і наступні рядки будуть виконані як зазвичай.


Найпростіший спосіб задати нове ім'я для функції такий:

Це означає, що будь-який виклик MyFunction () буде діяти так, як діяла б функція write (). Зауважимо, що будь-які зміни з write () після цього рядка не змінить функції MyFunction, тому цей метод часто використовується, щоб зберегти вбудовані функції перед тим, як вони будуть перезаписані. Наприклад, хтось може захотіти відключити функцію write (), але все ж хоче мати метод використовувати її, коли необхідно.

Це виведе "This function has been disabled!" кожен раз, коли хтось спробує викликати write ().

Return Правити

Іноді вам хочеться, щоб функція повертала значення, коли її виконання завершено. Це призначення "return". Він поверне одне або більше значень після виконання функції.

Це запише в Num випадкове число між 0 і 10. Зауважимо, що в цьому випадку ми записуємо () після імені функції при виклику. Це означає, що ми викликаємо функцію і присвоюємо повертається їй значення, а не намагаємося привласнити змінної саму функцію.

Виявлено використання розширення AdBlock.

Схожі статті