API Basic OptionExplicit uk - LIHACHTETAN/ClassicUO-BadNewbie-BasicIDE GitHub Wiki

Option Explicit

ClassicUO • Basic

Вимагає оголошення змінних до запуску скрипту. Це директива файлу мови Basic цього рушія, а не команда UO чи виклик функції.

Точний синтаксис

Option Explicit
Option Explicit On
Option Explicit Off

Параметри

  • On / Off — On вмикає сувору перевірку оголошень; Off вимикає її. Без слова після Explicit мається на увазі On. За відсутності директиви зберігається попередній несуворий режим. Дужки й лапки не потрібні.

Повертає

Значення немає. Директива не є виразом і не повертає TRUE/FALSE, число чи ID. RETURN у прикладах належить Main або Enough, а не Option Explicit.

Поведінка

  • Напишіть директиву один раз, до змінних, констант і процедур. Перед нею дозволено порожні рядки та коментарі. Повторна або пізня директива спричиняє SC013, зокрема спроба пізніше перемкнути на Off.
  • У режимі On читання чи присвоєння неоголошеної змінної спричиняє SC006 із місцем у коді. Також перевіряються імена масивів, лічильники FOR та об’єкти перед викликом методу. Оголошуйте через VAR/DIM/CONST; параметри й іменована змінна CATCH теж оголошують імена. FOR VAR оголошує лічильник.
  • Локальну змінну оголошуйте до використання. Локальна змінна однієї процедури не оголошує ім’я в іншій. Глобальні оголошення доступні процедурам. Це перевірка імен, а не доказ ініціалізації значення в усіх гілках.
  • Парсер читає весь файл; аналізатор зіставляє імена з оголошеннями; помилка суворої перевірки блокує виконання до першої команди. Повторне завантаження застосовує режим нового файлу незалежно від попереднього скрипту. У режимі Off можливі попередження, а читання ще не створеного значення може спричинити помилку виконання.
  • Сама директива не виконує ігрових дій і не надсилає пакетів. Вона не означає повної сумісності з VB.NET і не перевіряє існування ігрової цілі.

Приклади

1. Оголошення до присвоєння

# On вмикає перевірку. DIM оголошує count типу Integer; присвоєння 5 допустиме. Main повертає 5. Заміна count на неоголошене coutn заблокує запуск із SC006.
Option Explicit On
SUB Main()
    DIM count AS Integer
    count = 5
    RETURN count
END SUB

Пояснення параметрів і виконання:

On вмикає перевірку. DIM оголошує count типу Integer; присвоєння 5 допустиме. Main повертає 5. Заміна count на неоголошене coutn заблокує запуск із SC006.

2. Параметр і глобальна константа

# Директива без режиму означає On. minimum — глобальна константа 3. amount — оголошений параметр у Enough і окрема локальна змінна у Main. Enough порівнює 5 >= 3 і повертає TRUE, чисельно 1.
Option Explicit
CONST minimum = 3
FUNCTION Enough(amount)
    RETURN amount >= minimum
END FUNCTION
SUB Main()
    VAR amount = 5
    RETURN Enough(amount)
END SUB

Пояснення параметрів і виконання:

Директива без режиму означає On. minimum — глобальна константа 3. amount — оголошений параметр у Enough і окрема локальна змінна у Main. Enough порівнює 5 >= 3 і повертає TRUE, чисельно 1.

3. Запуск старого скрипту

# Off дозволяє створити legacyCounter присвоєнням без DIM. Main повертає 7. У цьому прикладі сумісності може залишитися попередження; для суворої перевірки оголосіть змінну й увімкніть On.
Option Explicit Off
SUB Main()
    legacyCounter = 7
    RETURN legacyCounter
END SUB

Пояснення параметрів і виконання:

Off дозволяє створити legacyCounter присвоєнням без DIM. Main повертає 7. У цьому прикладі сумісності може залишитися попередження; для суворої перевірки оголосіть змінну й увімкніть On.


en · ru · uk · fr · de · it · es · zh-tw · ja · ko

Basic