API Basic Module it - LIHACHTETAN/ClassicUO-BadNewbie-BasicIDE GitHub Wiki

Module / End Module

ClassicUO • Basic

Module raggruppa funzioni, procedure, VAR/DIM e CONST sotto un nome. Dall’esterno si usano Tools.Sum o Counter.count; nel modulo corrente sono ammessi nomi brevi.

Sintassi esatta

Module moduleName
    members
End Module
moduleName.member(arguments)
moduleName.field

Parametri

  • moduleName — moduleName: identificatore semplice senza distinzione maiuscole/minuscole, ad esempio Tools. UO è riservato. Nomi duplicati e moduli annidati non sono ammessi.
  • members — members: SUB/FUNCTION, VAR/DIM scalari, CONST, Include e una direttiva Option Explicit valida. Un campo può contenere array o oggetti. DIM[...] direttamente nel modulo non è supportato; creare l’array con una funzione e salvarlo in VAR.
  • member / arguments — member / arguments: nome del membro e argomenti della funzione. Tools.Sum(2, 3) passa left=2 e right=3. Il campo Counter.count si legge senza parentesi.

Restituisce

Module non restituisce un valore e non si chiama come Module(...). Tools.Sum(...) restituisce il RETURN della funzione; un campo fornisce il valore memorizzato. I confronti restituiscono Integer 1/0, equivalenti a TRUE/FALSE in condizioni e confronti. Un numero, ID o conteggio generico non è automaticamente un risultato booleano.

Comportamento

  • Dichiarare Module a livello di file e chiudere con End Module. Include può caricare un modulo o i suoi membri; gli errori conservano file e riga originali. Option Explicit appartiene al file fisico.
  • La preparazione raccoglie i nomi qualificati, associa quelli brevi al modulo corrente e verifica gli accessi prima dell’esecuzione. Un parametro, VAR, CONST o DIM locale esplicito nasconde un campo omonimo. Altrimenti si cerca il campo del modulo e poi la variabile globale tradizionale.
  • I campi si inizializzano nell’ordine delle dichiarazioni a ogni nuovo avvio. Le chiamate annidate dello stesso avvio condividono le modifiche. Un altro avvio riparte da zero; gli script concorrenti non condividono lo stato del modulo. Non viene salvato su disco.
  • Funzioni/procedure sono Public per impostazione predefinita; campi/costanti sono Private. Private richiede Module. Vedere Public / Private.
  • L’IDE mostra i nomi qualificati. Le procedure pubbliche senza argomenti obbligatori si avviano dall’elenco; gli aiutanti privati restano interni. Completamento, navigazione e variabili rispettano il modulo corrente.

Esempi

1. Nomi uguali in moduli diversi

# Tools.Sum somma left=2 e right=3 restituendo 5; Other.Sum li moltiplica restituendo 6. I nomi qualificati distinguono le funzioni. Main restituisce Integer 11.
Option Explicit On
Module Tools
    Public Function Sum(ByVal left, ByVal right)
        Return left + right
    End Function
End Module
Module Other
    Public Function Sum(ByVal left, ByVal right)
        Return left * right
    End Function
End Module
Sub Main()
    Return Tools.Sum(2, 3) + Other.Sum(2, 3)
End Sub

Spiegazione dei parametri e dell’esecuzione:

Tools.Sum somma left=2 e right=3 restituendo 5; Other.Sum li moltiplica restituendo 6. I nomi qualificati distinguono le funzioni. Main restituisce Integer 11.

2. Campo condiviso in un avvio

# count inizia da 0. Ogni Increment aggiunge 1 allo stesso campo; dopo due chiamate before=2. Read vede Counter.count=5. Main restituisce 2*10+5, Integer 25. Un nuovo avvio riparte da 0.
Option Explicit On
Module Counter
    Public Var count As Integer = 0
    Public Sub Increment()
        count += 1
    End Sub
    Public Function Read()
        Return count
    End Function
End Module
Sub Main()
    Counter.Increment()
    Counter.Increment()
    Var before = Counter.Read()
    Counter.count = 5
    Return before * 10 + Counter.Read()
End Sub

Spiegazione dei parametri e dell’esecuzione:

count inizia da 0. Ogni Increment aggiunge 1 allo stesso campo; dopo due chiamate before=2. Read vede Counter.count=5. Main restituisce 2*10+5, Integer 25. Un nuovo avvio riparte da 0.

3. Risultato booleano

# maximum=4 è disponibile dentro Limits. Allowed(3) restituisce Integer 1; Allowed(7) Integer 0. accepted=TRUE e rejected=FALSE verificano i risultati. Main restituisce Integer 10 se entrambi sono corretti.
Option Explicit On
Module Limits
    Private Const maximum = 4
    Public Function Allowed(ByVal amount)
        Return amount <= maximum
    End Function
End Module
Sub Main()
    Var accepted = Limits.Allowed(3)
    Var rejected = Limits.Allowed(7)
    If accepted = TRUE AndAlso rejected = FALSE Then
        Return 10
    End If
    Return 0
End Sub

Spiegazione dei parametri e dell’esecuzione:

maximum=4 è disponibile dentro Limits. Allowed(3) restituisce Integer 1; Allowed(7) Integer 0. accepted=TRUE e rejected=FALSE verificano i risultati. Main restituisce Integer 10 se entrambi sono corretti.


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

Basic