Verse jest nowym językiem programowania, więc jeśli masz doświadczenie w programowaniu, ale widzisz coś, czego nie rozumiesz, zajrzyj do tego słowniczka.
Jeśli nie masz doświadczenia w programowaniu, ten słowniczek również jest dla ciebie. Zamieściliśmy w nim definicje wielu podstawowych pojęć programistycznych. Być może znajdziesz tu odpowiedzi, których szukasz!
- abstrakcja
Zasada programowania, zgodnie z którą niepotrzebne szczegóły są ukrywane przed użytkownikiem, który nie musi rozumieć ukrytych zawiłości. Możesz na przykład wrzucić pieniądze do automatu vendingowego i wyciągnąć z niego przekąskę, nie rozumiejąc, jak działa jego mechanizm.
- agent
Agent może być zarówno graczem, jak i postacią niezależną (NPC).
- aktualizacja symulacji
Cykliczna runda, krok lub przyrost wartości logicznych, zachowań i innych obliczeń dla symulacji. Termin ten często jest skracany do samej aktualizacji lub używany synonimicznie z cyklem lub klatką. Aktualizacja symulacji ma zazwyczaj określony czas trwania, który może być stały lub zmienny. Jest on często określany jako czas delta, który może, ale nie musi pokrywać się z rzeczywistym upływem czasu. Aktualizacja symulacji może być na przykład szybsza, taka sama lub wolniejsza od czasu rzeczywistego.
Aktualizacja symulacji często odbywa się w tempie 1:1 z renderowaniem klatki – jest to domyślne dla Verse. Aktualizacja symulacji może jednak odbywać się rzadziej lub częściej niż jedna klatka, na przykład gdy klient gry online przestaje być zsynchronizowany z serwerem lub systemami fizyki podczas przeprowadzania kilku iteracji zmian symulowanego obiektu. Możliwe jest również, że symulacja nie będzie w ogóle renderowana wizualnie.
- algorytm
Algorytm jest sekwencją instrukcji napisanych w celu rozwiązania problemu lub wykonania zadania. Można go porównać do przepisu kulinarnego. Gdy piszesz kod, który rozwiązuje problem lub wykonuje zadanie, ten kod jest algorytmem.
- alias typu
Alias typu to sposób na utworzenie nowej nazwy dla istniejącego typu. Po zadeklarowaniu aliasu typu, możesz użyć aliasowanej nazwy zamiast istniejącego typu. Alias typu nie tworzy nowego typu, a jedynie nadaje nową nazwę istniejącemu typowi.
- alternatywne liczby całkowite
Patrz: system szesnastkowy.
- analiza semantyczna
Znana również jako analiza uwzględniająca kontekst. Analiza semantyczna jest uruchamiana w kompilatorze po zebraniu niezbędnych informacji semantycznych z kodu źródłowego (kodu napisanego przez użytkownika). Sprawdza spójność kodu pod kątem błędów semantycznych i przeprowadza sprawdzanie typów, takie jak upewnienie się, że każdy operator ma operand lub upewnienie się, że zmienna jest zadeklarowana przed użyciem.
- analizator składniowy (parser)
Program do parsowania kodu.
- anulowane
Wyrażenie, które powoduje wywołanie.
- API
Interfejs programowania aplikacji (ang. Application Programming Interface, API) to biblioteki zasadniczo pogrupowane w zestawy wywoływalnych funkcji, typów i struktur danych, które pozwalają użytkownikom na dostęp do systemów Unreal i Fortnite oraz interakcję z nimi.
- archetyp
Archetyp to instancja klasy, która jest w pełni zdefiniowana za pomocą wartości dla jej pól w klasie.
- argument
Wartość przypisana do parametru w sygnaturze funkcji zmapowanej z wywołania funkcji.
- async
Wyrażenie asynchroniczne (async) może wymagać czasu na ocenę, ale nie musi. Wyrażenie asynchroniczne może, ale nie musi, zostać ukończone w bieżącej lub późniejszej aktualizacji symulacji. Funkcje asynchroniczne, które są identyfikowane za pomocą specyfikatora
suspends, są również nazywane koprocedurami. Wyrażenia asynchroniczne są przeciwieństwem wyrażeń natychmiastowych.- biblioteka standardowa
Seria funkcji, stałych i innych definicji języka dostępnych w Verse. Ta biblioteka zapewnia implementacje dla typowych potrzeb programistycznych. Jest to źródło rzeczy często używanych przez programistów, takich jak funkcje matematyczne.
- blok kodu
Blok lub blok kodu to grupa wyrażeń, która wprowadza nowe ciało kodu. Blok kodu może również nie zawierać żadnych wyrażeń, ale zazwyczaj jest to symbol zastępczy, który zostanie wypełniony wyrażeniami w późniejszym czasie.
Bloki kodu następują po identyfikatorze.
Blok kodu w Verse ma trzy możliwe formaty. Wszystkie te formaty są semantycznie takie same pod tym względem, że format nie zmienia tego, co faktycznie robi kod.
Format z odstępami rozpoczyna blok od
:, a każde wyrażenie występuje w odrębnym wierszu z wcięciem czterech spacji:Verseif (test-arg-block): expression1 expression2Zauważ, że
if (test-arg-block)nie jest częścią bloku, ale blok zaczyna się na końcu tego wiersza od:. Można również użyć znaku;, aby oddzielić wiele wyrażeń w jednym wierszu:Verseif (test-arg-block): expression1; expression2; expression3W wielowierszowym formacie z nawiasami klamrowymi, blok jest otoczony przez
{}(nawiasy klamrowe), a wyrażenia znajdują się w nowych wierszach:Verseif (test-arg-block) { expression1 expression2 }Podobnie jak w przypadku formatu z odstępami, można również użyć znaku
;, aby oddzielić wiele wyrażeń w jednym wierszu.Verseif (test-arg-block) { expression1; expression2 }Trzecim formatem jest jednowierszowy format z nawiasami klamrowymi. Również tutaj blok jest otoczony przez
{}, ale każde wyrażenie jest oddzielone znakiem;, a nie umieszczone w nowym wierszu. Zwróć uwagę, że nie trzeba umieszczać nawiasów{}w osobnych wierszach.Verseif (test-arg-block) {expression1; expression2}Aby dowiedzieć się więcej, patrz: Bloki kodu.
- brak wycofania
Ten efekt wskazuje, że modyfikowalnych odczytów i zapisów danych funkcji nie można cofnąć, co oznacza, że funkcji nie można wywołać w kontekście niepowodzenia (który przejawia zachowanie polegające na wycofaniu w przypadku niepowodzenia).
- break
Wyrażenie "przerywa" bieżące wyrażenie
loopi wykonuje kolejne wyrażenie po wyrażeniu loop. Aby dowiedzieć się więcej, patrz: Loop i break.- bug
W trybie kreatywnym Fortnite i UEFN, nieprawidłowe lub nieoczekiwane zachowanie w programie.
W języku Verse bug (z ang. robak, pluskwa) to błąd w programie komputerowym, który powoduje, że generuje on nieprawidłowy lub nieoczekiwany wynik. Bugi występują w czasie uruchomienia, w przeciwieństwie do błędów kompilatora, które występują w czasie kompilacji Verse. Proces identyfikowania i usuwania tych błędów nazywany jest debugowaniem.
- błąd kompilatora
Błąd kompilatora jest wynikiem nieprawidłowego użycia kodu wykrytego przez kompilator Verse w czasie kompilacji. Porównaj to z bugami, które występują w czasie uruchomienia.
- błąd semantyczny
Patrz: błąd kompilatora.
- błąd składniowy
Patrz: błąd kompilatora.
- C++
Popularny język programowania wykorzystywany w wielu różnych zastosowaniach – zwłaszcza w silnikach gier, takich jak Unreal Engine.
- char
Typ danych, który przechowuje pojedynczy znak.
- CI/CD
CI/CD to skrót oznaczający ciągłą integrację (continuous integration) i ciągłe dostarczanie (continuous delivery) lub ciągłe wdrażanie (continuous deployment). CI/CD łączy programowanie i aplikacje poprzez automatyzację kompilacji, testowania i wdrażania aplikacji.
- computes
Ten efekt wskazuje, że funkcja zwraca te same dane wyjściowe, gdy wielokrotnie otrzymuje te same dane wejściowe.
- converges
"Najmniejszy" zestaw efektów. Jest to kod, który gwarantuje uzyskanie wartości w skończonym czasie bez rozbieżności.
- cykl
Patrz aktualizacja symulacji, która jest używana synonimicznie z cyklem i czasami z klatką.
- czas kompilacji
Gdy kod źródłowy jest konwertowany na instrukcje dla maszyn. Porównaj z terminem: czas uruchomienia.
- czas przywołania
Czas potrzebny na dokonanie oceny wyrażenia. Natychmiastowe przywołanie w rzeczywistości nie zajmuje w ogóle czasu. Wyrażenie asynchroniczne może zostać ukończone natychmiast lub może być opóźnione.
- Czas uruchomienia
Czas uruchomienia lub czas wykonania oznacza czas, przez który działa gra, symulacja lub aplikacja. Porównaj ten termin z czasem kompilacji, który odnosi się do czasu poświęconego na kompilowanie, lub z czasem programowania, który odnosi się do czasu poświęconego na programowanie, kompilowanie i debugowanie.
Typowo rozróżnia się rzeczy, które mają miejsce w czasie wykonania, i te, które występują w czasie kompilacji.
- czas życia
Czas między utworzeniem obiektu a jego zniszczeniem. Synonimem tego terminu jest żywotność.
- czyste
Określenie faktu, że funkcja zawsze zwraca dokładnie takie same dane wyjściowe przy tych samych danych wejściowych i nie ma efektów ubocznych (zapisy do zmiennych modyfikowalnych, efekty wejścia-wyjścia itd.).
- często spotykany typ
Typy często spotykane to typy, które są wbudowane i często używane. Często spotykane typy to
any,comparable,float,int,logic,rationalorazstring.- dane
Zasadniczo dane odnoszą się do wartości używanych w wyrażeniu.
- debugger
Narzędzie używane do debugowania, w którym na każdym etapie wykonywania możesz zobaczyć stan programu.
- Debugowanie
Proces znajdowania i naprawiania błędów w kodzie.
- decides
Efekt, który wskazuje, że funkcja może się zakończyć niepowodzeniem, a wywołanie takiej funkcji jest wyrażeniem zawodnym. Definicje funkcji z efektem decides muszą mieć również efekt transacts, co oznacza, że akcje wykonywane przez tę funkcję mogą zostać wycofane, jakby nigdy nie zostały wykonane, jeśli w dowolnym miejscu funkcji wystąpi niepowodzenie.
- definicja
Definicja ma miejsce, gdy identyfikator jest zaimplementowany lub ma przypisaną wartość, taką jak definicja funkcji lub definicja klasy. Porównaj z terminem: deklaracja.
- definiowanie
Patrz: Definicja.
- deklaracja
Deklaracja jest wyrażeniem, w którym wprowadzany jest identyfikator wraz z jego typem. Może, ale nie musi być zaimplementowana (używana) i może, ale nie musi mieć przypisaną (zainicjowaną) wartość.
Składnią deklaracji zmiennej jest
var name : type = expression. Na przykład:Versevar PlayerSpeed : float = 2.0Ten wiersz kodu wskazuje, że zmienna o nazwie PlayerSpeed ma wartość zmiennopozycyjną (float).
W tym przykładzie ostatnia część
= 2.0jest inicjacją, czyli jest oddzielona od deklaracji.- deklarowanie
Zmienną lub funkcję deklarujesz, określając jej identyfikator i typ. Porównaj z terminem: inicjowanie.
- dekorowanie
Dekorowanie podczas pisania kodu oznacza otaczanie jednego fragmentu kodu innym.
- deterministyczne
System deterministyczny to taki, w którym ten sam stan początkowy lub te same dane wejściowe zawsze dają takie same wyniki.
- doc
Ogólne pole notatki, które znajdziesz w klasach i funkcjach (ale nie w parametrach funkcji), zawierające przydatne informacje o tym, co robi opisywany element lub jak go używać, i używane do wypełnienia strony tego elementu w odwołaniach do interfejsu API Verse.
- domena
Domena to zestaw danych wejściowych akceptowanych przez dany parametr. Jednym ze sposobów określenia domeny jest typ, ale domena jest bardziej rozległa niż typ.
- Dwukierunkowe
Działające w dwóch kierunkach.
- dziedziczenie
W Verse można utworzyć klasę, która stanowi rozszerzenie definicji innej klasy, dodając lub modyfikując pola oraz metody tej drugiej klasy. Jest to często nazywane podklasowaniem lub dziedziczeniem, ponieważ jedna klasa dziedziczy definicje z drugiej klasy.
- editable
Atrybut, który można dodać do kodu, aby uwidocznić właściwości w UEFN. Oznaczanie kodu tym atrybutem polega na dodaniu atrybutu
@attribute_name(w tym przypadku@editable) przed identyfikatorem pola identifier:Verse@editable PropertyName : type = DefaultValueNa przykład pole ciągu tekstowego
GreetingMessagejest edytowalną właściwością z wartością domyślną"Hello, stranger":Verseexpose_properties := class(creative_device): @editable GreetingMessage : string = "Hello, stranger"Aby dowiedzieć się więcej na ten temat, patrz: Dostosowywanie właściwości urządzenia w edytorze.
- efekt
Efekt jest kategorią zachowania, które może wykazywać funkcja.
W poniższym przykładzie kod informuje, że funkcja nosi nazwę
IsCriticalHealthi przyjmuje wartość liczby całkowitej jako dane wejściowe poprzez parametrHealth. Następnie informuje, że funkcja wykazuje efektydecidesoraztransacts, co oznacza, że funkcja jest w kontekście niepowodzenia a jej działania mogą zostać cofnięte, jeśli funkcja zakończy się niepowodzeniem. Jeśli wartośćHealthprzekazana jako dane wejściowe do funkcji jest większa niż 0.0 i mniejsza lub równa 30.0, funkcja zakończy się powodzeniem. W przeciwnym razie funkcja zakończy się niepowodzeniem, a kontekst, który wywołał funkcję, musi przetworzyć niepowodzenie.VerseIsCriticalHealth(Health : float)<decides><transacts> : void = ((Health > 0.0) && (Health <= 30.0))Aby dowiedzieć się więcej, patrz Specyfikatory i atrybuty.
- efekt addytywny
Efekt addytywny to efekt, który można dodać do efektu wyłącznego. Do efektów addytywnych należą
suspendsidecides.- efekt uboczny
Efekt uboczny występuje, gdy jakiś kod, na przykład funkcja lub wyrażenie, modyfikuje jakiś stan poza swoim zakresem.
- efekt wyłączny
Kilka efektów jest uważanych za efekty wyłączne, do których można dodać efekty addytywne, ale których nie można używać z innymi efektami wyłącznymi. Do efektów wyłącznych należą
computes,variesitransacts. Do efektów addytywnych należąsuspendsidecides.- Eksplorator Verse
- element
Pojedyncza część w większej grupie. Na przykład tablica może zawierać różne elementy, które można przechowywać i wykorzystywać indywidualnie.
- element członkowski
Nazwana zmienna lub funkcja, która jest podczęścią złożonej struktury danych (takiej jak klasa Verse, struktura, interfejs lub moduł). Zmienne składowe są często określane jako pola, a funkcje składowe jako metody.
- element członkowski danych
Patrz: członek.
- f
Patrz: wartość zmiennopozycyjna (float).
- final
Specyfikator, który może być używany tylko do klas i elementów członkowskich klas:
Jeśli klasa ma specyfikator final, nie można tworzyć jej podklas.
Jeśli pole ma specyfikator final, nie można zastąpić tego pola w podklasie.
Jeśli metoda ma specyfikator final, nie można zastąpić tej metody w podklasie.
- fragment
Patrz: fragment kodu.
- fragment kodu
Fragment kodu to jego część, często krótka, która zwykle ma na celu zaprezentowanie lub zaimplementowanie określonej koncepcji.
Fragmenty kodu nie są pełnymi, samodzielnymi programami. Fragmenty kodu można kopiować i wklejać do bloków kodu. Porównaj z terminem: próbka kodu.
- funkcja (kod)
Funkcja (zwana też procedurą) jest kodem wielokrotnego użytku, który dostarcza instrukcji dotyczących wykonania akcji lub utworzenia wyniku wyjściowego na podstawie danych wejściowych.
Aby zdefiniować funkcję, trzeba podać trzy kluczowe części: unikatową nazwę, typ informacji, jakiej można oczekiwać w wyniku, a także to, co funkcja będzie robić po jej wywołaniu.
Podstawowa składnia funkcji jest następująca:
Versename() : type = codeblockCzłony name() oraz type rozdzielone dwukropkiem: Jest to sygnatura funkcji, która określa sposób wywoływania i stosowania funkcji, a wartość, jaką musi zwrócić funkcja, odpowiada podanemu typowi. Format jest podobny do sposobu, w jaki tworzy się stałe, z wyjątkiem nawiasu () po nazwie, który imituje sposób wywoływania funkcji w kodzie.
Blok kodu funkcji: Określa, co zrobi funkcja, gdy zostanie wywołana przez wprowadzenie
=codeblock, gdziecodeblockoznacza dowolną sekwencję składającą się z co najmniej jednego wyrażenia. Każde wywołanie funkcji powoduje wykonanie wyrażeń w bloku kodu.
- funkcyjne programowanie logiczne
Połączenie paradygmatów programowania funkcyjnego i logicznego w jednym języku.
- generator
Generator tworzy sekwencję wartości, jedną na raz, i nadaje wartości nazwę.
- graf wywołań
Lista metod w stosie wywołań, z informacjami na temat każdego wywołania, takimi jak czas wykonania, znaczniki czasu i identyfikator funkcji.
- Granica
W przypadku UEFN, patrz: powiązanie.
W przypadku Verse: zmienna, na której wykonano powiązanie. Wszystkie zmienne Verse zostają powiązane natychmiast po ich zdefiniowaniu – nie mogą być w stanie niepowiązanym.
- grupa
Akcja polegająca na zamknięciu wyrażenia w nawiasie
().. To jednoznacznie określa kolejność oceny. Grupowanie może też poprawić czytelność kodu.- handler
Procedura obsługi to funkcja, która jest wywoływana w celu zareagowania na powiązane zdarzenie. Jeśli na przykład do zdarzenia przycisku InteractedWithEvent przypiszesz funkcję, za każdym razem, gdy gracz wejdzie w interakcję z tym przyciskiem, zostanie wywołana procedura obsługi zdarzeń przypisana do tego zdarzenia.
- hierarchia efektów
Efekt jest kategorią zachowania, które może wykazywać funkcja. Zastosowanie efektów wyłącznych do funkcji ma hierarchię, przy czym efekty znajdujące się wyżej w hierarchii zezwalają przynajmniej na wszystkie zachowania efektów znajdujących się poniżej w hierarchii. Hierarchia wygląda następująco:
transactsvariescomputesconverges
Efekt
transactsobejmuje właściwości efektów znajdujących się niżej w hierarchii, efektvariesobejmuje efektycomputesiconverges, ale nietransacts, i tak dalej.- Hierarchiczne
Coś, co ma wyraźnie określone poziomy lub hierarchie rangi, ważności lub kontroli. Typowe powiązania hierarchiczne to klasa bazowa/pochodna lub nadklasa/podklasa.
- IDE
Zintegrowane środowisko programistyczne (integrated development environment, IDE) to oprogramowanie zapewniające interfejs użytkownika do tworzenia i debugowania programów.
- identyfikator
Identyfikator to nazwa nadawana rzeczom w programie, takim jak zmienne lub funkcje, w celu ich niepowtarzalnej identyfikacji.
- indeks
Indeks reprezentuje pozycje elementów w sekwencji za pomocą przedstawienia numerycznego. Sekwencja może być listą, ciągiem znaków lub dowolną sekwencją wartości.
Indeksy wykorzystują numerowanie od zera. Oznacza to, że pierwsza pozycja w indeksie to 0, a piąta pozycja to 4.
- inicjowanie
Tworzenie zmiennej, polega na określeniu jej identyfikatora i typu, co nazywane jest deklarowaniem zmiennej, oraz przypisaniu wartości do zmiennej, co nazywane jest inicjowaniem.
- Instancja
Instancja to jednostkowa, niepowtarzalna kopia zasobu. Oryginalny zasób określa domyślne właściwości wszelkich tworzonych na nowo instancji. Zmiany wprowadzone do właściwości instancji nie mają wpływu na oryginalny zasób. Np. możesz zmienić materiał, aby wyglądał inaczej, przy czym materiał główny pozostanie niezmieniony. Będzie to instancja materiału.
Tworzenie zmiennej, polega na określeniu jej identyfikatora i typu, co nazywane jest deklarowaniem zmiennej, oraz przypisaniu wartości do zmiennej, co nazywane jest inicjowaniem.
- interpolacja
Mieszanie nowych wartości, które znajdują się między znanymi wartościami.
- interpreter
Program, który analizuje i wykonuje program wiersz po wierszu.
- iteracja
Uruchamianie kodu dla każdego elementu sekwencji.
- jednostka kodowa
Minimalna kombinacja bitów, która może reprezentować jednostkę zakodowanego tekstu. UTF-8 wykorzystuje 8-bitową jednostkę kodową.
- język otwartego świata
Język, w którym wzajemnie zależne moduły napisane przez wielu różnych użytkowników i wiele różnych organizacji mogą ewoluować w czasie bez naruszania zgodności interfejsu i trwałej zgodności danych poprzez przestrzeganie jasno zdefiniowanych reguł podtypowania.
- język programowania
Formalny język używany do pisania programów komputerowych. Istnieje wiele języków programowania, a każdy z nich rządzi się własnymi prawami. Przykładem może być Scratch, wizualny język programowania używany do tworzenia interaktywnych historii, gier i animacji, lub C++, język tekstowy, który jest często używany w tworzeniu gier. Verse to język programowania opracowany przez Epic Games dla twórców, którzy chcą dowiedzieć się więcej o korzystaniu z narzędzi programistycznych.
- klasa abstrakcyjna
Jeśli klasa lub metoda klasy zawiera specyfikator abstract, nie można utworzyć instancji danej klasy. Klasa abstrakcyjna jest przeznaczona do używania jako nadklasa, w której niektóre elementy członkowskie są zaimplementowane lub określone, ale nie wszystkie. Nazywana jest również klasą bazową.
- klasa bazowa
Klasa, od której pochodzą inne klasy. Klasa, która dziedziczy z klasy bazowej, posiada wszystkie elementy i funkcje składowe, a także może posiadać dodatkowe właściwości, które nie są zawarte w klasie bazowej. Klasa bazowa jest również nazywana klasą nadrzędną lub nadklasą.
- klasa konkretna
Klasa z konkretnym specyfikatorem jest sposobem na skonstruowanie instancji klasy z pustym archetypem, co oznacza, że wszystkie pola dla klasy muszą być zdefiniowane z początkową wartością.
- klasa wewnętrzna
Klasa oznaczona jako
epic_internal, co oznacza, że nie można utworzyć własnej instancji tej klasy. Dostęp do wewnętrznego obiektu można uzyskać tylko za pomocą interfejsów API.- klatka
Klatka to jeden w pełni wyrenderowany obraz (np. na monitorze komputera lub telewizorze) przedstawiający symulację w danym momencie. Klatka jest czasami używana jako synonim aktualizacji symulacji (lub cyklu), ponieważ jest ona zwykle w kroku, chociaż nowe klatki mogą pojawiać się z inną częstotliwością (częściej lub rzadziej) niż aktualizacja symulacji. Częstotliwość generowania klatek, w skrócie kl./s, to liczba klatek wyświetlanych na sekundę.
- kod
Kod, nazywany czasem kodem źródłowym, to instrukcje napisane przez programistę, które mówią programowi, jak ma działać. Kod źródłowy Verse może być odczytany przez programistę, ale nie przez komputer. Zanim komputer będzie mógł odczytać lub wykonać program, musi on zostać przekonwertowany na instrukcje wykonywane przez komputer; jest to tak zwane kompilowanie. Kiedy programista mówi, że koduje, ma na myśli pisanie tych instrukcji.
- kodowanie znaków
Kodowanie znaków to mapowanie między znakiem tekstowym a zrozumiałymi dla komputera danymi zwanymi punktem kodowym.
- kolejność oceny
Odnosi się do nadrzędności operatora, czyli kolejności, w jakiej niektóre operacje powinny być wykonywane w wyrażeniu.
- komentarz
Komentarz napisany przez programistę wyjaśniający jakąś kwestię związaną z kodem lub powód, dla którego programista zaprogramował coś w dany sposób. Podczas gdy sam kod pokazuje, jak działa program, komentarze są zwykle dodawane w celu wyjaśnienia dlaczego.
Komentarze do kodu mogą pojawiać się w dowolnym miejscu kodu i zaczynają się od
#. Komentarze do kodu są ignorowane podczas działania programu.Komentarz do pojedynczego wiersza możesz dodać poprzez umieszczenie znaku
#na początku wiersza. Znak powrotu na końcu wiersza kończy komentarz.Verse# A single line is commented this way.Komentarz blokowy w wielu wierszach możesz utworzyć, używając
<#na początku bloku i#>na jego końcu:Verse<# You can make multi-line comments in your code by starting and ending the comments as shown here. #>Aby poznać inne sposoby dodawania komentarzy do kodu, patrz: Skrócony przewodnik po języku Verse.
- komentarz do kodu
Patrz: komentarz.
- kompilator
Oprogramowanie, które konwertuje instrukcje programu zrozumiałe dla człowieka na instrukcje wykonywalne przez komputer, czasami określane mianem parser. Okres, w którym kompilator działa, jest nazywany czasem kompilacji.
- Kompiluj
Konwertowanie programów z języka zrozumiałego dla ludzi na instrukcje wykonywane przez komputer.
- komponent
Niezależne pole do renderowania fragmentu terenu. Czasami komponenty nazywają się komórkami. Patrz też: World Partition.
Komponenty dostarczają danych i zachowań jednostkom w Scene Graph. Komponenty definiują, co jednostka powinna robić w scenie.
Komponenty mają edytowalne właściwości, które mogą być fizyczne, takie jak siatka statyczna i system cząsteczkowy, lub logiczne, takie jak tagi rozgrywki lub niestandardowy kod Verse, który definiuje ruch platformy. Domyślnie wszystkie jednostki posiadają Transform Component, który określa, gdzie dana jednostka istnieje na świecie.
W Verse: funkcja lub grupa powiązanych funkcji w programie, której można używać wielokrotnie.
- komunikat (message)
Typ
messagew Verse może zawierać tekst niezależny od ustawień lokalnych. Po zainicjowaniuzmiennejmessage za pomocąwartościstring, ten ciąg tekstowy (string) określa domyślny tekst i język komunikatu.- Kontekst
Zakres kodu, który definiuje żywotność różnych elementów języka i ograniczeń. Zwykle jest to zakres pomiędzy początkiem i końcem bloku kodu.
- kontekst niepowodzenia
Kontekst niepowodzenia to kontekst, w którym dozwolone jest wykonywanie wyrażeń, które mogą zakończyć się niepowodzeniem. Kontekst określa, co się stanie, jeśli wyrażenie zakończy się niepowodzeniem.
- kontekst wyrażenia asynchronicznego
Zakres, w którym dozwolone jest wyrażenie asynchroniczne, takie jak wywołanie koprocedury.
- Kontener
W UEFN kontener to klasa zawierająca właściwości, które można stosować do wielu obiektów.
W Verse kontener to sposób organizacji danych w kodzie. Aby uzyskać więcej informacji, patrz typ kontenera.
- koprocedura
Procedura o określonym czasie życia (czasie trwania), która albo wykonuje pracę w czasie, albo czeka na wystąpienie różnych zdarzeń i stanów, albo kombinację obu. Koprocedura jest synonimem funkcjiasync .
- kwalifikowanie się
Zdefiniowanie identyfikatora w zakresie, który pozwala na "ponowne użycie" identyfikatora. Załóżmy na przykład, że mamy stałą o nazwie "cat". Tej samej nazwy można użyć dla pola klasy o nazwie "sarah.cat". Oba elementy zawierają "cat" w nazwie, ale zakwalifikowane zostało "sarah.cat".
- liczba całkowita
Liczba całkowita to pełna liczba (nie ułamkowa), która może przyjmować wartość dodatnią, ujemną lub zerową.
- liczba całkowita ze znakiem
Liczba całkowita ze znakiem to wartość, która może przyjmować wartości ujemne, dodatnie lub zerowe. Jest tak nazywana, ponieważ może używać znaku + lub - po lewej stronie, aby wskazać, czy liczba jest dodatnia czy ujemna. Liczba całkowita bez znaku może być tylko liczbą dodatnią lub zerem.
- liczba wymierna
Liczba, którą można wyrazić jako ułamek zwykły przy użyciu dwóch liczb całkowitych. Na przykład, 1.75 można również wyrazić jako 7/4, ale pierwiastka kwadratowego z 2 (√2) nie można wyrazić jako ułamka, a zatem jest on uważany za liczbę niewymierną. Innym przykładem liczby niewymiernej jest liczba Pi, która zaczyna się od 3.14159... i ciągnie się w nieskończoność.
- liczba zmiennoprzecinkowa
Termin używany w różnych językach programowania do definiowania zmiennej o wartości ułamkowej lub liczby zawierającej separator dziesiętny, takiej jak 0.5 lub 1.0. Liczby utworzone przy użyciu deklaracji zmiennej wartości zmiennopozycyjnej (float) będą miały cyfry po obu stronach separatora dziesiętnego.
- lista powiązana
Liniowa struktura danych, w której każdy element zawiera odwołanie do kolejnego elementu na liście.
- lista zmian
Sposób śledzenia zmian w pliku w Perforce między plikami lokalnymi przechowywanymi na komputerze a plikami, które są przesyłane na serwer i łączone z plikami źródłowymi projektu. Lista zmian jest również nazywana CL (od angielskiego "changelist").
- literał
Stała wartość w języku programowania Verse, taka jak liczba lub znak. Na przykład 1 jest literałem wyrażonym liczbą całkowitą.
- logika boolowska
System logiczny, w którym wyrażona wartość jest prawdziwa (true) lub fałszywa (false) i który jest często używany do określania sterowania przepływem w językach programowania. Został on nazwany imieniem George'a Boole'a (1815–1864), matematyka, który wniósł kluczowy wkład w rozwój logiki i algebry.
W języku Verse typem używanym do reprezentowania wartości true i false jest
logic. Ta logika boolowska jest realizowana przez wyrażenia zawodne w kontekstach niepowodzenia.- lokalne
Odnosi się do stałej lub zmiennej wewnątrz bloku kodu. Nie można ich używać poza blokiem kodu, w którym zostały utworzone. Patrz też: zakres.
- luneta
Zakres odnosi się do części programu, w której skojarzenie nazwy z wartością jest prawidłowe, a nazwę można wykorzystać do utworzenia odwołania do wartości. Na przykład dowolne stałe lub zmienne utworzone w funkcji istnieją tylko w kontekście tej funkcji. Oznacza to, że czas życia obiektów jest ograniczony do zakresu, w którym zostały utworzone, i nie można ich wykorzystywać poza danym blokiem kodu.
- luźna właściwość
- metoda
Metoda jest funkcją dołączoną do klasy i można ją wywołać tylko w instancji tej klasy.
- moduł
Moduł w Verse jest niepodzielną jednostką kodu, którą można wielokrotnie rozprowadzać i tworzyć od niej zależności, a z czasem ją rozwijać bez przerywania zależności. Moduł można zaimportować do swojego pliku Verse, aby móc wykorzystać definicje kodu z innych plików Verse.
Aby dowiedzieć się więcej, patrz: Moduły i ścieżki.
- modyfikowalne
Pojęcie to odnosi się do stanu obiektu, który po utworzeniu nadal można modyfikować. W Verse modyfikowanie jest możliwe tylko w przypadku wskaźników.
Porównaj z terminem: niemodyfikowalne.
- mutex
Mutex jest prymitywem (typem prostym) synchronizacji, który zapewnia wyłączny dostęp do współdzielonego zasobu przy użyciu tylko jednego wątku. Patrz też: wzajemne wykluczanie.
- nadklasa
Klasy mogą dziedziczyć z nadklasy, która zawiera wszystkie pola nadklasy w klasie dziedziczenia. Takie klasy są określane jako podklasa nadklasy.
- nadrzędność
Kolejność, w jakiej pewne operacje powinny być wykonywane w wyrażeniu.
- nadrzędność operatorów
Odnosi się to do wbudowanej kolejności oceny podczas łączenia operatorów w Verse. Jeśli na przykład jedno wyrażenie zawiera wiele operatorów, kolejność ich oceny ma znaczenie.
Na przykład wyrażenie
1 + 2 * 3nie jest oceniane jako3 * 3, ponieważ mnożenie jest nadrzędne w stosunku do dodawania.Pierwszeństwo operatorów może zostać zastąpione przez wyrażenia grupowania.
- nadtyp
Nadtyp to typ, który ma co najmniej jeden podtyp. Wszelkie operacje obsługiwane przez nadtyp muszą być również obsługiwane przez wszystkie podtypy. W Verse
anyjest nadtypem wszystkich pozostałych typów, a wszystkie pozostałe typy są podtypamiany. Typcomparablejest nadtypem obejmującym wszystkie typy, które są porównywalne w Verse, takie jakintifloat.- NaN
Wartość nieliczbowa (Not a Number).
- native (natywne)
specyfikator
nativewskazuje, że szczegóły definicji elementu są zaimplementowane w C++. Ten specyfikator może automatycznie generować definicje C++, których następnie może użyć twórca. Specyfikatornativejest używany dla klasy, interfejsu, wyliczenia (enum), metody i danych.- native_callable
Wskazuje, że metoda instancji jest zarówno natywna (zaimplementowana w C++), jak i może być wywoływana przez inny kod C++. Ten specyfikator jest używany w metodzie instancji. Nie propaguje się on do podklas, więc nie trzeba dodawać go do definicji podczas zastępowania metody, która ma ten specyfikator.
- natychmiastowe
Wyrażenie natychmiastowe dokonuje oceny bez opóźnienia, co oznacza, że ocena zostanie ukończona w ramach bieżącej aktualizacji symulacji.
- nawias
W Verse nawiasy służą do określania różnych rodzajów informacji w kodzie. Verse używa czterech rodzajów nawiasów. Ich zastosowania są przede wszystkim następujące:
()Nawiasy okrągłe służą do ustawiania parametrów w sygnaturze funkcji i argumentów w wywołaniu funkcji oraz do grupowania wyrażeń, krotek i podklas.[]Nawiasy kwadratowe służą do wywołań funkcji zawodnych, specyfikatorów typu dla tablic i map oraz indeksowania do tablicy.{}Nawiasy klamrowe są wykorzystywane w tworzeniu instancji archetypu, formatowaniu bloku kodu i interpolacji ciągu tekstowego.<>nawiasy ostrokątne służą do dodawania specyfikatorów do identyfikatorów i funkcji.
- nawias klamrowy
Patrz:nawiasy.
- nie ustalono
Nie przypisano żadnej wartości. Porównaj z terminem: zestaw.
- niemodyfikowalne
Oznacza sytuację, w której po utworzeniu obiektu nie można modyfikować jego stanu. Porównaj z terminem: modyfikowalne.
- niepodzielne
Pojedyncza, kompletna jednostka kodu, która albo jest całkowicie wykonywana, albo całkowicie kończy się niepowodzeniem, bez przerywania lub obserwacji ze strony innego kodu. Kodu niepodzielnego nie można przerwać. Wszystkie sąsiadujące wyrażenia natychmiastowe, nieasynchroniczne są uważane za niepodzielne – ich kod ma gwarancję nieprzerwanego działania z tą samą aktualizacją i bez wywłaszczenia lub przełączania kontekstu.
- nieskończona rekursja
Nieskończona rekursja ma miejsce, gdy funkcja wywołuje samą siebie bezpośrednio lub pośrednio, co powoduje, że funkcja próbuje wywoływać samą siebie w nieskończoność i nigdy się nie kończy. Powoduje to zawieszanie się programu.
- numerowanie od zera
Sposób numerowania, w którym pierwszy element w sekwencji jest oznaczony jako 0, a nie 1. Oznacza to, że pozycja zero w indeksie oznacza 1, pierwsza pozycja oznacza 2 itd. Sekwencje numerowania od zera są powszechne w notacji matematycznej. W programowaniu pierwsza pozycja w tablicy jest czasami nazywana pozycją zerową.
- Obiekt
W UEFN obiekt to inne określenie zasobu.
Instancja klasy jest obiektem. Instancja przejawia te same zachowania, które są zdefiniowane przez typ klasy, ale z rzeczywistymi wartościami.
Terminy instancja i obiekt są synonimami.
- ocena
- odpytywanie
Odpytywanie odnosi się do aktywnego próbkowania stanu urządzenia zewnętrznego przez program kliencki w formie działania synchronicznego. Odpytywanie jest najczęściej wykorzystywane w odniesieniu do wejścia/wyjścia (we/wy) i jest również określane jako odpytywane we/wy lub we/wy sterowane programem.
- ograniczone
Gdy wyrażenie jest ograniczone, ma ustalone limity.
- operacja
Akcja wykonywana przez program w celu wykonania określonego zadania. Istnieją cztery podstawowe grupy operacji komputerowych: wejście, przetwarzanie, wyjście i przechowywanie. Operacja jest typem wyrażenia.
- operand
Ilość, na której wykonywana jest operacja. Na przykład w wyrażeniu
1 + 2znak+jest operatorem, a1i2są operandami.- operator
Symbol przedstawiający akcję lub proces. Na przykład w
1 + 2znak+jest operatorem.- pamięć podręczna
Sposób przechowywania danych w celu uzyskania do nich szybszego dostępu.
- para klucz-wartość
Gdy klucz jest powiązany z wartością, razem stanowią parę klucz-wartość. Wartość można sprawdzić za pomocą klucza.
- paradygmat
Typowy wzorzec lub model czegoś. W programowaniu paradygmat to sposób, w jaki zorganizowany jest język programowania. Istnieją cztery główne paradygmaty języków programowania:
Tryb rozkazujący
Wartość logiczna (logic)
Funkcjonalność
Metoda obiektowa
Istnieją również języki wieloparadygmatowe, takie jak Verse.
- parametr
Zmienna wejściowa, która zawiera domenę, taką jak type, i opcjonalną domyślną wartość zdefiniowaną w sygnaturze funkcji, która jest następnie używana w ciele (body) funkcji. Porównaj z terminem: argument.
- Perforce
Perforce (P4) to narzędzie programowe, które odpowiada za kontrolę wersji (kontrolę kodu źródłowego, kontrolę rewizji). Kontrola wersji to sposób śledzenia zmian w kodzie oprogramowania i zarządzania nimi. Przydaje się, gdy nad jednym projektem pracują różne zespoły programistów. Gdy ktoś popełni pomyłkę, kontrola wersji umożliwia porównanie z wcześniejszymi wersjami kodu oraz znalezienie i naprawienie problemu bez przerywania pracy innych osób.
- persystencja
Gdy dane gracza z kończącej się sesji gry są zapisywane i ponownie ładowane do kolejnej sesji tej gry, mamy do czynienia z trwałością.
- Ping Pong
Odwrócenie kierunku tam i z powrotem.
- plansza
Powierzchnia, na której toczy się gra. Początkowo termin plansza odnosił się do gier rozgrywanych na blacie stołu lub innej płaskiej powierzchni. Jednak coraz częściej używa się tego pojęcia w odniesieniu do poziomów w grach wideo. Tworząc gry wideo, poziomy plansz można dzielić na różne obszary lub strefy o różnych kształtach i układach oraz z różnym ukształtowaniem terenu. Tak samo jak w przypadku gier planszowych gracze mogą przesuwać postacie lub obiekty po planszy (poziomie), aby przechodzić grę.
- podmoduł
Moduł Verse w innym module Verse. Można to porównać do folderów i podfolderów – każdy podmoduł dodaje kolejny fragment /NazwaModułu do ścieżki na każdym kolejnym niższym poziomie.
- podprocedura
Zestaw instrukcji w programie komputerowym przeznaczony do wykonywania często używanych operacji. Podprocedury przypominają funkcje, z tą różnicą, że funkcja wykonuje pewne obliczenia i zwraca wynik do wywoływacza. Podprocedury wykonują swoją pracę bez zgłaszania się do programu wywołującego.
- podsumowanie
Automatycznie wygenerowana lista wszystkich symboli publicznych, takich jak moduły, funkcje, klasy, które zostały przetworzone przez kompilator Verse. Obejmuje również komentarze. Aby sprawdzić, jakie API i funkcje znajdują się w powiązanym module, możesz przeczytać plik podsumowania.
- podtyp
Typ, który obsługuje wszystkie operacje jego nadtypu. Słowa kluczowego
subtypemożna używać z nawiasami, aby wskazać, że typ jest ograniczony do konkretnego typu. Na przykład kilka metod tablicy Verse używasubtype, aby zdefiniować, że wszystkie elementy tablicy muszą mieć nadtyp comparable (porównywalny), aby metoda działała.Verse(Input:[]t where t:subtype(comparable)).RemoveFirstElement<public> (ElementToRemove:t)<computes><decides>:[]t RemoveFirstElementW tej sytuacji elementy tablicy muszą mieć nadtyp
comparable, aby można było określić, czy każdy element tablicy jest równy argumentowiElementToRemove.- podwyrażenie
Wyrażenie, które jest zagnieżdżone wewnątrz bloku kodu.
- pole
Patrz: członek.
- pole
Część siatki na powierzchni takiej jak podłoga lub ściana.
Sposób wizualnej organizacji opcji menu.
W języku Verse: Część siatki na powierzchni takiej jak podłoga lub ściana.
- polecenie
Samodzielna komenda niemająca wartości wynikowej. Verse nie używa poleceń. Zamiast tego wykorzystuje wyrażenia.
- polimorfizm
Polimorfizm, inaczej wielopostaciowość, pochodzi od greckiego polys, oznaczającego wiele, i morfe, oznaczającego kształt. Zachowanie polimorficzne występuje, gdy zmienna może przybierać różne wartości w różnych warunkach.
- Powiąż
W programowaniu komputerowym powiązanie oznacza utworzenie połączenia między co najmniej dwoma obiektami na określony czas.
W przypadku Fortnite powiązanie to przypisanie funkcji do zdarzenia.
W języku Verse powiązanie oznacza utworzenie połączenia między co najmniej dwoma obiektami na określony czas. Np. jeśli powiążesz funkcję z parametrem przycisku
InteractedWithEvent, za każdym razem, gdy gracz wejdzie w interakcję z tym przyciskiem, zostanie wywołana powiązana funkcja. Może się to odnosić do przypisania [zmiennej do wartości lub obiektu lub do przypisania procedury obsługi zdarzeń do zdarzenia.- poziom dostępu
Uprawnienia potrzebne do uzyskania dostępu do elementu członkowskiego. Są one określane za pomocą specyfikatora na elemencie członkowskim.
- poziom szczegółowości
Ustawienie ograniczające ilość dodatkowych informacji wyświetlanych podczas generowania dziennika.
- połączenie
Połączenie ma miejsce, gdy ciąg tekstowy jest dołączany (dodawany) do innego ciągu tekstowego. Do łączenia ciągów tekstowych można użyć operatora +.
- predykat
W Verse predykat jest czymś, co albo kończy się powodzeniem, albo niepowodzeniem.
- procedura
Patrz: funkcja.
- program
Program to zestaw instrukcji, które mówią komputerowi, jak coś zrobić. Podstawą każdego programu jest wskazanie, w jaki sposób komputer będzie odbierał dane wejściowe i zwracał dane wyjściowe.
Program rozwiązuje problemy. Jednak programy są bardzo dosłowne. To jak zawieranie umowy z dżinem. Dżin (czyli program) da ci dokładnie to, o co prosisz. Dokładnie. Błędy pojawiają się, gdy programista czyni założenia dotyczące tego, co powinno się wydarzyć, zamiast precyzyjnie opisać, jakie dane wejściowe mogą zostać odebrane i jakie dane wyjściowe zostaną uzyskane.
- programowanie
Proces pisania instrukcji (programu), które mogą być kompilowane i wykonywane przez komputer.
- programowanie funkcyjne
Typ programowania deklaratywnego, który koncentruje się na użyciu funkcji. Programowanie funkcyjne ma na celu ułatwienie testowania i debugowania poprzez redukcję efektów ubocznych. Przykładem funkcyjnego języka programowania jest Haskell.
- programowanie imperatywne
Paradygmat, w którym program jednoznacznie opisuje sposób wykonywania programu, krok po kroku. Przykładem języka programowania imperatywnego jest C.
- programowanie logiczne
Paradygmat programowania, który wykorzystuje logikę boolowską do kontrolowania, w jaki sposób fakty i zasady dotyczące problemów w systemie są reprezentowane lub wyrażane.
- programowanie obiektowe
Programowanie obiektowe (object-oriented programming, OOP) to paradygmat programowania, który opiera się na koncepcji klas i obiektów.
- propagacja
Propagacja w funkcji ma miejsce, gdy wywoływacz nie musi zajmować się tym, co dzieje się w przypadku niepowodzenia. Na przykład funkcja z efektem
decidesmoże być wywołana z innej funkcji z efektemdecides. Wywoływacz musiałby wtedy obsłużyć niepowodzenie, niezależnie od tego, co zostało wywołane.- przeciążenie
Przeciążenie funkcji lub operatora oznacza, że ta sama nazwa funkcji lub symbol operatora mogą mieć różne parametry. Jeśli na przykład powiesz, że wektor 3D jest równy innemu wektorowi 3D, na przykład (1,2,3), jest to całkiem jasne. Jednak możesz użyć operatora equals, aby powiedzieć, że wektor 3D jest równy pojedynczej liczbie, na przykład 1. W tym przypadku wektor 3D może być zdefiniowany jako (1,1,1), ale przeciążona część składa się z kilku operatorów "3D Vector =" z różnymi parametrami. Język musiałby uwzględnić kontekst, aby sprawdzić, którego z nich użyć.
- przedrostek
Format operatora, w którym występuje tylko jeden operand, a operator znajduje się przed tym operandem.
- przekroczenie zakresu liczb całkowitych
Przekroczenie zakresu liczb całkowitych ma miejsce, gdy podejmowana jest próba zapisania wartości, która jest zbyt duża dla wartości zdefiniowanych dla typu liczby całkowitej.
- przeprowadzanie analizy składniowej
W informatyce przeprowadzanie analizy składniowej, zwane czasem parsowaniem, polega na tym, że ciąg poleceń – zwykle program – jest rozdzielany na łatwiejsze do przetworzenia komponenty, które są analizowane pod kątem poprawnej składni, a następnie dołączane do tagów definiujących każdy komponent.
- przepływ czasu
Część siatki na powierzchni takiej jak podłoga lub ściana.
Sercem języka programowania Verse jest kontrola przepływu czasu, która jest realizowana za pomocą wyrażeń współbieżnych.
Przepływ czasu jest typem sterowania przepływem, ale gdzie sterowanie przepływem dotyczy kolejności, w jakiej komputer wykonuje instrukcje, w oparciu o kolejność wyrażeń w programie, przepływ czasu kontroluje wykonanie w czasie, a nie sekwencję, w oparciu o sposób użycia wyrażeń współbieżności.
Przepływ czasu to inny sposób na określenie współbieżności.
- przestrzeń gry
Moduł API, którego można użyć do uzyskania tablicy graczy lub drużyn, lub drużyny dla konkretnego gracza. Pozwala także na subskrybowanie zdarzeń dodawanych i usuwanych przez graczy.
- przełączanie kontekstu
Przełączanie kontekstu to proces przechowywania stanu procesu lub wątku, aby można go było przywrócić i wznowić wykonywanie w późniejszym czasie, a następnie przywrócić inny, wcześniej zapisany stan.
- przyrostek
Format operatora, w którym występuje tylko jeden operand, a operator znajduje się po tym operandzie.
- przyszłe
Zadanie, którego wykonywanie rozpoczęto, ale które zostało zawieszone bez anulowania. Jest przyszłe, ponieważ zakończy się w pewnym momencie w przyszłości.
- przywoływanie
Patrz: wywołanie.
- próbka kodu
Samodzielny program, moduł lub klasa, które wykazują co najmniej jedną koncepcję, klasę, funkcję lub inny aspekt języka programowania. Porównaj z terminem: fragment kodu.
- pseudokod
Pseudokod to szczegółowy opis w języku naturalnym (nie języku programowania) tego, co powinien zrobić algorytm. Pseudo- oznacza nieprawdziwy lub nierzeczywisty, więc można powiedzieć, że pseudokod jest fałszywym kodem, ale jest przydatny do opracowania tego, co powinien osiągnąć algorytm.
Pseudokod można również potraktować jako ogólny szkic. Pseudokod jest zwykle pisany w celu zaplanowania dużej lub złożonej części programu przed napisaniem prawdziwego kodu.
- publiczny element członkowski
Element członkowski widoczny dla innych modułów.
- punkt kodowy
Wartość w przestrzeni kodowej Unicode dla kodowania znaków.
- pusty blok
Blok kodu niezawierający żadnych wyrażeń nazywany jest pustym blokiem. Puste bloki są zwykle używane tylko jako symbole zastępcze i zostaną później wypełnione kodem.
- pusty ciąg tekstowy
Ciąg tekstowy niezawierający żadnych znaków
""jest nazywany pustym ciągiem tekstowym.- pętla gry
Pętla gry to kod, który jest uruchamiany w sposób powtarzalny (w pętli), w reakcji na dane wejściowe – zwykle interakcje gracza za pomocą kontrolera lub myszy – w celu aktualizacji stanu gry i dostarczenia danych wyjściowych, które pokazują graczowi, że wpłynął na stan gry, na przykład po naciśnięciu przycisku, który włącza światło. Pętla zwykle kończy się, gdy gra zostanie ukończona, na przykład po osiągnięciu celu przez gracza, lub zakończy się niepowodzeniem, na przykład, kiedy graczowi upłynie limit czasu przed osiągnięciem celu.
- Pętla nieskończona
Blok pętli, który będzie się powtarzać w nieskończoność. Patrz też: loop i break.
- RAII
Inicjowanie przy pozyskaniu zasobu (resource acquisition is initialization, RAII) opisuje, kiedy obiekt pozyskuje zasoby między inicjacją a finalizacją, co pozwala na bardziej efektywne zarządzanie zasobami.
- ray casting
Ray casting polega na rysowaniu w przestrzeni niewidocznej linii przebiegającej od obiektu w celu sprawdzenia, czy coś z nim koliduje.
- refaktoryzować
Zmieniać strukturę kodu, nie zmieniając jego funkcjonalności. Na przykład blok kodu powtórzony w programie wiele razy można zrefaktoryzować (przekształcić, przerobić) na wywołanie funkcji. Refaktoryzacja może zwiększyć czytelność kodu i zmniejszyć jego złożoność, nie zmieniając jego zachowania.
- rekursja
Do rekursji dochodzi, gdy funkcja wywołuje sama siebie.
- relacja is-a
Relacja między klasą bazową a klasą pochodną nazywana jest relacją "is-a". Klasa pochodna w relacji is-a dziedziczy z klasy bazowej.
- REPL
Pętla REPL (read-evaluate-print loop) to środowisko komputerowe, w którym można wprowadzić kod, odczytać go i ocenić, a następnie zobaczyć wyniki. Dzięki pętli REPL można zbadać język i zobaczyć, co działa (lub nie działa), niczego nie psując.
- return
Wyrażenie, które nakazuje programowi opuszczenie podprocedury i powrót do adresu zwrotnego. Adres zwrotny to miejsce, z którego wywołano podprocedurę.
Zamiast polegać na ostatnim wyrażeniu w bloku kodu funkcji, aby wygenerować właściwą wartość, można również jawnie określić wynik za pomocą wyrażenia
return. Gdy wyrażenie return zostaje wykonane, następuje natychmiastowe wyjście z bloku kodu funkcji. Oznacza to, że jeśli wyrażenie return zostanie umieszczone przed innym kodem, następujący po nim kod nie zostanie wykonany.- rozbieżność
Mówi się, że wykonanie programu jest rozbieżne, jeśli nie kończy się zgodnie z oczekiwaniami. Jeśli uzyskuje wartość w skończonym czasie bez rozbieżności, mamy do czynienia ze zbieżnością.
- rzutowanie typu
Klasę można przekonwertować na jedną z jej podklas (tzw. rzutowanie typu) za pomocą składni
NewReference := type_to_cast_to[Reference], gdzietype_to_cast_tojest typem, którego chcesz użyć. Jest to wyrażenie zawodne, ponieważ konwersja typu nie powiedzie się, jeśli obiektu nie da się skonwertować do danego typu, gdy na przykład klasa jest innego typu niż podklasa.Poniższy przykład pokazuje, jak przekonwertować
TaggedDevice, który ma typcreative_device_base, na typcustomizable_light_device, tak aby można było korzystać z jego określonych funkcji. JeśliTaggedDevicenie jest urządzeniem Customizable Light, wówczas nie wywoła funkcjiTurnOn().Verseif (LightDevice := customizable_light_device[TaggedDevice]): LightDevice.TurnOn()- równoległe
Równoległymi nazywamy wiele obliczeń wykonywanych w tym samym czasie fizycznym, np. na oddzielnych procesorach.
- semafor
Semafor przypomina mutex z tą różnicą, że podczas gdy mutex blokuje inne wątki przed dostępnymi zasobami, semafor sygnalizuje jedynie, że zasób jest w użyciu.
- semantyka
- serializacja
Proces odczytywania danych z pliku zapisu lub zapisywania danych w pliku zapisu. Luźna właściwość jest tworzona, gdy ten sam odczytywany plik ma właściwość, której nie ma klasa/struktura.
- shadowing
Shadowing ma miejsce, gdy identyfikator ukrywa inny identyfikator. Jest to błąd w Verse, który uniemożliwi kompilację kodu.
- silnie typowane
Język programowania jest silnie typowany, gdy do każdego identyfikatora przypisany jest typ. Jeśli typ nie jest jawnie podany, zostanie on wywnioskowany. Oznacza to, że język nie będzie generował nieprzewidywalnych wyników w czasie uruchomienia, ponieważ znany jest typ tych identyfikatorów i sposób, w jaki operacje wpływają na te typy. Patrz też: sprawdzanie statyczne.
- skrypt
Niezależna ilość wykonywalnego kodu Verse, który jest powiązany z obiektem.
- składnia
Zasady lub gramatyka języka programowania.
Porównaj z terminem: semantyka.
- specyfikator
Specyfikator stosuje dodatkowe informacje do definicji. Na przykład specyfikator efektu
decidesw definicji funkcji oznacza funkcję jako zawodną.Specyfikatory dzielą się na dwie podkategorie: specyfikatory dostępu oraz specyfikatory efektów.
- specyfikator dostępu
Specyfikatory dostępu definiują poziom dostępu. Oto wszystkie specyfikatory dostępu, których można używać z klasami:
public: Nieograniczony dostęp.
internal: Dostęp ograniczony do bieżącego modułu. Jest to domyślny dostęp.
protected (chronione): Dostęp ograniczony do bieżącej klasy i wszelkich podklas.
private: Dostęp ograniczony do bieżącej klasy.
- splat
Gdy krotka jest używana jako pojedynczy element funkcji, będzie to wyglądało tak, jakby funkcja była wywoływana z każdym z elementów krotki osobno. Jest to tzw. rozszerzanie krotek lub splatting.
- sprawdzanie statyczne
Automatyczna kontrola podczas kompilacji, która może wychwycić błąd na podstawie semantyki kodu.
- sprawdzanie typu
Sprawdzanie typu służy do sprawdzania programu przed wykonaniem. W ten sposób sprawdzane są wartości typu danych i składnia. Głównym celem systemu typu w języku programowania jest zmniejszenie prawdopodobieństwa wystąpienia błędów w programie z powodu błędów typu.
- stan
Stan to połączenie oryginalnych wartości w obiekcie oraz wszelkich dokonanych modyfikacji.
- stan gry
Stan gry lub innej symulacji. Składa się ze wszystkich wartości danych, które opisują system. Stan systemu określają wartości stałe i zmienne.
- stała
Stała to miejsce, w którym przechowywana jest wartość, która nie może ulec zmianie w czasie uruchomienia programu. Nazywana jest stałą, ponieważ ciągle pozostaje taka sama.
Podstawowa składnia stałej to
name : type = value. Elementnamejest nazwą przypisywaną do stałej (nazywaną identyfikatorem). Znak:wskazuje, że po nim następuje typ. Znak=wskazuje, że następna będzie wartość, po czym następuje sama wartość. Na przykład:VersePlayerSpeed : float = 2.0To wskazuje, że zmienna PlayerSpeed ma wartość 2.0, reprezentowaną jako wartość dziesiętna, która nie zmienia się podczas działania programu.
Stałe zawsze mają przypisane wartości. Nazwa i typ to deklaracja, a inicjacja to miejsce, w którym ta wartość jest wyrażona.
Porównaj z terminem: zmienna.
Aby dowiedzieć się więcej, patrz Stałe i zmienne.
- STM
Programowa pamięć transakcyjna (software transactional memory, STM) to mechanizm kontroli współbieżności analogiczny do transakcji w bazach danych, służący do kontrolowania dostępu do pamięci współdzielonej w programowaniu współbieżnym. Docelowo Verse będzie wyposażony w STM, ponieważ między innymi odblokowuje wzrost wydajności dla dużych symulacji rozproszonych.
- stos wywołań
Stos wywołań jest używany przez program do śledzenia wywołań – które funkcje są uruchomione, które zostały zakończone, a które dopiero zostaną wywołane.
- Subskrybuj
Subskrypcja to sposób na określenie funkcji, którą zamierzasz wywołać, gdy zdarzenie zostanie wzbudzone. Jest to tzw. powiązanie do zdarzenia. Przypisana funkcja to procedura obsługi zdarzeń zdarzenia.
- succeed
Gdy wyrażenie zostaje ukończone bezbłędnie, kończy się powodzeniem. Porównaj z terminem: kontekst niepowodzenia.
- suspends
Efekt, który tymczasowo zatrzymuje (zawiesza) funkcję bez jej anulowania. Wyrażenie
suspendspozwala funkcjom asynchronicznym na zawieszenie i wspólne przekazanie kontroli do innych współbieżnych wyrażeń przed ich zakończeniem.Aby dowiedzieć się więcej, patrz: Współbieżność.
- sygnatura funkcji
Sygnatura funkcji deklaruje nazwę funkcji (identyfikator) oraz (parametry) danych wejściowych i wyjściowych (wyniku) funkcji. Funkcje Verse mogą również mieć specyfikatory, które określają sposób użycia lub implementacji funkcji.
- system heksadecymalny
W Verse do reprezentowania liczb całkowitych można używać systemu heksadecymalnego (szesnastkowego), zamiast systemu liczb dziesiętnych, w którym podstawą jest 10 symboli. Oznacza to, że wartości szesnastkowe przedstawiane są za pomocą cyfr 0–9 i liter A–F. Na przykład 0x7F to 127, a 0xFACE to 64206.
To alternatywny sposób przedstawiania liczb całkowitych.
- szesnastkowy system liczbowy
System heksadecymalny (od heksa-, czyli sześć i decymalny, czyli dziesięć), czasem pisany w skrócie hex, to system liczbowy, w którym podstawą jest liczba 16. Używa się w nim 16 symboli zamiast powszechnie stosowanych 10 symboli w systemie dziesiętnym.
- słowo kluczowe
Słowa kluczowe to zastrzeżone słowa, które mają specjalne znaczenie dla kompilatora. Przykładowe słowa kluczowe to
foriclass. Słów kluczowych nie można używać jako identyfikatorów.- transacts
Gdy funkcja ma efekt
transacts, oznacza to, że funkcja może odczytywać i zapisywać dane, ale te działania mogą być wycofane, jeśli funkcja ma również efekt decides. Ten efekt jest efektem wyłącznym.Funkcja bez określonego efektu wyłącznego może odczytywać i zapisywać dane, ale nie można jej wycofać.
- treść
Blok z własnym zakresem, który definiuje podwyrażenia elementu języka, takiego jak ciało funkcji lub ciało pętli. Na przykład ciało funkcji zawiera wyrażenia, które określają działanie funkcji, a wszelkie zmienne zadeklarowane w funkcji są lokalne dla tego ciała funkcji.
- Tryb animacji PingPong
Odwrócenie kierunku animacji po osiągnięciu ostatniej klatki kluczowej i ponowne jej odtworzenie w przeciwnym kierunku.
- tworzenie instancji
Aby utworzyć instancję czegoś.
W Verse, tworzenie instancji oznacza utworzenie instancji lub wartości struktury danych lub typu, takiego jak klasa lub struktura. Patrz też: Tworzenie instancji archetypu.
- tworzenie instancji archetypu
Proces tworzenia archetypu. Porównaj z terminem konstruktor, który również może uruchamiać logikę lub inne funkcje.
- twórca
Osoba, która używa narzędzi Fortnite do tworzenia (zaprogramowania) wyspy w Fortnite, zwłaszcza gdy korzysta z UEFN. Pojęcie to obejmuje twórców wysp Fortnite, artystów i architektów.
- typ
Typ określa, które operacje mogą być wykonywane na danych i jak te dane lub wartości są przechowywane dla tego typu. Istnieją często spotykane typy, takie jak liczba całkowita (integer) czy ciąg tekstowy (string), typy złożone i typy niestandardowe. Patrz też: typ prymitywu i typ kontenera. Słowa kluczowego
typemożna używać z nawiasami klamrowymi, aby zdefiniować oczekiwany typ. Deklaracje funkcji i zakresy numeryczne są obecnie obsługiwane jako deklaracje. Na przykład funkcjaSubscribe()dla interfejsusubscribableużywa słowa kluczowegotype, aby zdefiniować, że jej parametrCallbackmusi być funkcją z typem zwracanymvoid.VerseSubscribe<public>(Callback:type {__(:t):void})<transacts>:cancelable- typ danych
Patrz: typ.
- typ kontenera
Za pomocą typu kontenera, takiego jak tablica, mapa, krotka lub opcja.
- typ parametru
- typ prosty
Typ prosty to dowolny typ, który nie został utworzony z innych typów. Oznacza to, że typ prosty nie jest złożony i nie można go podzielić. Przykładami wbudowanych typów prostych są
void,logic,int,float,rational, ichar. Typy proste są wbudowane w język Verse.Porównaj z terminem: typ kontenera.
- typ złożony
Złożony typ danych, czasami nazywany typem kompleksowym lub agregatem, to dowolny typ, który może składać się z pól lub elementów (zwykle nazwanych) typów prostych lub innych typów złożonych. Zwykle ma stałą liczbę pól lub elementów przez cały okres żywotności. Verse używa obecnie następujących typów złożonych: struktura (struct), klasa (class), wyliczenie (enum), interfejs (interface) oraz moduł (module).
- typowanie dynamiczne
W języku programowania z typowaniem dynamicznym zmienne i wyrażenia nie mają przypisanych typów. Oznacza to, że nie można ich sprawdzić przed uruchomieniem. Porównaj z terminem: silnie typowane.
- ukończone
Stan zadania, które zostało ukończone.
- umowa z dżinem
Pisanie kodu jest czasami porównywane do zawierania umowy z dżinem pod tym względem, że program będzie dokładnie wykonywał instrukcje, nawet jeśli wynik nie będzie dokładnie taki, jakiego oczekujesz. Patrz też: program.
- Unicode
Standard kodowania znaków opracowany przez konsorcjum Unicode w celu zapewnienia porównywalnej obsługi znaków w różnych językach, na różnych platformach i urządzeniach.
- unikatowe
Unikatowy specyfikator (unique) można zastosować do klasy, aby uczynić ją klasą unikatową. Aby skonstruować instancję klasy unikatowej, Verse przydziela unikatową tożsamość do powstałej instancji. Dzięki temu można porównywać instancje unikatowych klas pod względem równości, porównując ich tożsamości. Klasy bez specyfikatora unique nie mają takiej tożsamości, dlatego można je porównywać pod względem równości tylko na podstawie wartości ich pól. Oznacza to, że klasy unikatowe można porównywać za pomocą operatorów `=` oraz `<>` i że są one podtypami typu comparable.
- uruchom i zapomnij
Wyrażenie "uruchom i zapomnij" odnosi się do wyrażenia, w którym nie ma znaczenia, kiedy się zakończy ani czy zakończy się pomyślnie. To niezmiernie rzadka sytuacja.
- urządzenie
Urządzenia to obiekty w Fortnite, wykonujące określone zadania mające na celu kontrolę rozgrywki.
Podobnie jak rekwizyt, urządzenie to coś, co umieszczasz na wyspie. Różni się jednak od rekwizytu tym, że możesz użyć go do projektowania interakcji graczy z rozgrywką. Różne urządzenia odpowiadają za różne rzeczy, ale każde z nich coś robi.
Urządzenie można traktować jako pakiet mechanik gry z określonymi funkcjami, które można dostosować do obsługi twojej rozgrywki. Większość urządzeń można spersonalizować, ale wszystkie posiadają ustawienia domyślne, które określają ich zachowanie, nawet jeśli ich nie spersonalizujesz.
W Verse urządzenie jest podstawowym blokiem konstrukcyjnym używanym do budowania mechaniki gry. Urządzenie prowadzi z graczem interakcje, które kontrolują rozgrywkę.
- urządzenie utworzone w Verse
Urządzenie przeznaczone do użytku w Unreal Editor dla Fortnite (UEFN), zaprogramowane bezpośrednio w Verse.
- ustawienia regionalne
W programowaniu ustawienia regionalne (locale) to zestaw parametrów, które definiują język użytkownika, region i inne aspekty interfejsu użytkownika. W Verse
localejest szczególnym typem, który ustawia kontekst, kiedykomunikatpowinien być zlokalizowany, i wpływa na język tekstu i sposób wyświetlania liczb w oparciu o ustawienia regionalne.- UTF-8
Schemat kodowania znaków Unicode standard kodowania znaków opracowany przez konsorcjum Unicode w celu zapewnienia porównywalnej obsługi znaków w różnych językach, na różnych platformach i urządzeniach.
Emoji wyglądają jak obrazki lub ikony, ale nimi nie są. Są to litery (znaki) z zestawu znaków UTF-8 (Unicode).
UTF-8 obejmuje niemal wszystkie znaki i symbole na świecie.
- uwidacznianie
W UEFN właściwość jest uwidaczniana poprzez przypisanie jej w kodzie Verse atrybutu
editable. Oznacza to, że można edytować uwidocznioną właściwość bezpośrednio w interfejsie UEFN. Patrz też: editable.- varies
Ten efekt wskazuje, że wprowadzenie do funkcji tych samych danych wejściowych nie zawsze musi generować te same dane wyjściowe. Efekt
varieswskazuje również, że nie ma gwarancji, iż zachowanie funkcji pozostanie takie samo z nowymi wersjami zawierającego ją pakietu.- Verse
Verse jest statycznie sprawdzanym językiem programowania z naciskiem na programowanie rozgrywki.
- Visual Studio Code
Visual Studio Code, znany również jako VS Code, to edytor kodu źródłowego stworzony przez Microsoft dla systemów Windows, Linux i macOS.
- VPL
Patrz: Wizualny język programowania.
- Wartość
Wartość to informacja używana przez program do działania. Przykładami wartości są liczby lub tekst.
- Wartość logiczna (boolean)
Patrz: Logika boolowska.
- warunek
Warunek jest czymś, co program może sprawdzić i zweryfikować jako true lub false. Wyrażenie warunkowe może ocenić warunek i zwrócić wynik true lub false.
- warunek race
Warunek race występuje, gdy program próbuje wykonać co najmniej dwie operacje w tym samym czasie w przypadku operacji, które muszą być wykonywane kolejno, aby zostały wykonane poprawnie.
- warunkowe
Wyrażenie, które ocenia warunek i wykonuje instrukcje na podstawie wyniku warunku. Przykładowym wyrażeniem warunkowym jest wyrażenie
if.- wbudowane
W niektórych językach programowania element wbudowany oznacza element, którego można używać bezpośrednio w języku i jego bibliotekach standardowych.
- wbudowany typ
Wbudowanego typu typu nie można podzielić, w przeciwieństwie do typu złożonego.
- wizualny język programowania
Typ języka programowania, w którym programista używa elementów wizualnych, przeciągając je i łącząc z innymi elementami w celu uzyskania określonej sekwencji instrukcji programu.
- wnioskowanie
Istnieją sytuacje, w których nie trzeba wyraźnie określać typu, na przykład podczas tworzenia stałej. Na przykład w
MyConstant := 0przyjmuje się, że typ MyConstant to liczba całkowita (int), ponieważ ma przypisaną wartość całkowitą. W takich przypadkach typ jest wywnioskowany.- wskaźnik
Wskaźnik umożliwia odwołanie się do modyfikowalnego "pola", które może przechowywać określony typ wartości. Za pomocą wskaźnika można zmienić określoną wartość w tym polu. Porównaj z terminem: wartość.
- współbieżne
Współbieżnymi nazywamy wiele obliczeń, które są wykonywane w tym samym skutecznym okresie. Są to nakładające się na siebie aktualizacje symulacji logicznych, cykle (tick)) i klatki, nawet jeśli potencjalnie rozłożone w czasie fizycznym, na przykład na pojedynczym procesorze, i niekoniecznierównoległe.
- współbieżność nieustrukturyzowana
Wyrażenia współbieżne z czasem życia, które nie są logicznie ograniczone do określonej współbieżnej komendy lub zakresu kontekstu asynchronicznego. Ten czas życia potencjalnie wykracza poza zakres, w którym został wykonany. Przypomina to nieustrukturyzowane sterowanie przepływem, takie jak komenda
gotolubassembly jump.- współbieżność ustrukturyzowana
Współbieżność ustrukturyzowana opisuje współbieżne operacje w ramach czasu życia, który jest ograniczony do określonej komendy współbieżnej i zakresu kontekstu asynchronicznego. Jest to ustrukturyzowane sterowanie przepływem, takie jak
if,forlubreturn, które ogranicza się do powiązanego zakresu.W Verse wyrażenia współbieżności ustrukturyzowanej obejmują
sync,race,rush, orazbranch.- wycofanie
Do przywrócenia programu do wcześniej zdefiniowanego stanu, zwykle w celu odzyskania danych po nieudanym wyrażeniu.
- wykonanie
Proces, w którym komputer interpretuje program i wykonuje instrukcje z tego programu.
- wykonanie sekwencyjne
Kod jest ogólnie wykonywany wiersz po wierszu, w kolejności, w której pojawiają się kolejne wyrażenia. Jest to tzw. wykonanie sekwencyjne.
- wykonanie spekulacyjne
Verse wykorzystuje kontekst niepowodzenia, aby umożliwić wypróbowanie akcji bez ich zatwierdzania. Jest to tzw. wykonanie spekulacyjne. Gdy wyrażenie zakończy się powodzeniem, efekt wyrażenia zostanie zatwierdzony, na przykład poprzez zmianę wartości zmiennej. Jeśli wyrażenie zakończy się niepowodzeniem, jego efekty zostaną wycofane, tak jakby wyrażenie nigdy nie miało miejsca.
- wykonywanie
Uruchamianie programu.
- Wykładanie sufitu
Działanie matematyczne, które zaokrągla wartość liczby wymiernej w górę do najbliższej liczby całkowitej. Porównaj z terminem:
floor.- wymuszenie
Konwersja wartości na inny typ danych. Konwersje typów mogą być dokonywane niejawnie lub jawnie. Konwersja niejawna. jest to zwane również wymuszeniem, jest wykonywane automatycznie.
- wynik
Gdy wyrażenie jest wykonywane, a następnie wyprowadza wartość, jest ona wynikiem.
- wyrażenia porównawcze
W Verse wyrażenia porównawcze występują, gdy porównujesz dwie rzeczy przy użyciu jednego z operatorów nierówności:
<,>,<=,>=,<>.- wyrażenie
Wyrażenie jest najmniejszą jednostką kodu (kombinacją wartości i funkcji, która po ocenie daje wynik.
w poniższym przykładzie użyto wyrażenia
if ... else, które oznacza, że jeśli wartość spełnia określone kryteria, to dzieje się jedna rzecz, ale jeśli nie, to dzieje się coś innego.Verseif (a > 5): “Big!” else “Small!”W Verse wszystko jest wyrażeniem, od literałów po wywołania funkcji lub sterowanie przepływem.
Można to porównać do polecenia, które jest niezależną komendą niemającą wartości wynikowej. W Verse wszystko jest wyrażeniem i nie ma rozróżnienia między poleceniami a wyrażeniami, które mogą być oceniane do wartości.
Aby uzyskać więcej szczegółowych informacji, patrz Wyrażenia.
- wyrażenie block
Wyrażenie block to sposób grupowania wyrażeń jako pojedynczego wyrażenia lub zagnieżdżania bloku kodu. Wyrażenia block zachowują się podobnie do bloków kodu.
- wyrażenie branch
Wyrażenie
branchrozpoczyna blok składający się z co najmniej jednego asynchronicznego wyrażenia podrzędnego. Każde wyrażenie, które po nim następuje, jest wykonywane natychmiast.Aby dowiedzieć się więcej, patrz: Współbieżność.
- wyrażenie case
Wyrażenie case może sterować przepływem programu z listy opcji. Aby dowiedzieć się więcej, patrz: Wyrażenie case.
- wyrażenie decyzji
Wyrażenia decyzji używają operatorów
not,andorazor, aby umożliwić ci sterowanie przepływem decyzji o powodzeniu i niepowodzeniu.- wyrażenie for
Wyrażenie
for, czasem nazywane pętlą for, jest tym samym co wyrażenie loop, z tą różnicą, że wyrażeniaforsą ograniczone, co oznacza, że liczba iteracji jest znana przed wykonaniem pętlifor, a decyzje dotyczące momentu wyjścia z pętli są zautomatyzowane. Aby dowiedzieć się więcej, patrz: For.- wyrażenie if
Za pomocą wyrażenia
ifmożna decydować o zmianie przepływu programu. Podobnie jak w innych językach programowania, w Verse wyrażenieifsłuży do wykonywania warunkowego, jednak w przypadku Verse decyzja jest podejmowana na podstawie spełnienia kryteriów powodzenia lub niepowodzenia zadanych w warunkach.- wyrażenie matematyczne
W Verse wyrażenie matematyczne to wyrażenie wykorzystujące następujące operatory:
+,-,*or/.- wyrażenie najwyższego poziomu
Wyrażenie najwyższego poziomu to wyrażenie, które nie jest zagnieżdżone wewnątrz bloku kodu. Wyrażenia najwyższego poziomu mogą też być wyrażeniami złożonymi, takimi jak zagnieżdżone bloki kodu.
- wyrażenie przypisania
W Verse wyrażenie przypisania przechowuje wartość w modyfikowalnej lokalizacji, na przykład podczas inicjacji zmiennej lub zmiany wartości zmiennej.
- wyrażenie równości
Z wyrażeniami równości w Verse mamy do czynienia, gdy za pomocą operatora = porównujemy, czy dwie rzeczy są równe.
- wyrażenie spawn
Wyrażenie
spawnuruchamia funkcję asynchroniczną. Każde wyrażenie, które następuje po wyrażeniu spawn, jest wykonywane natychmiast, bez czekania na zakończenie wyrażeniaspawn. Wyrażeniespawnjest kontynuowane niezależnie, aż do ukończenia.- wyrażenie zakresu
Wyrażenia zakresu zawierają wszystkie liczby pomiędzy dwiema wartościami, łącznie z tymi określonymi wartościami, z dwiema kropkami
..pomiędzy wartościami; na przykład,1..5. Wyrażenia zakresu mogą być używane tylko w określonych miejscach, takich jak wyrażeniafor.- wyrażenie zawodne
Wyrażenie zawodne to wyrażenie, które może zakończyć się powodzeniem i wygenerować wartość, lub niepowodzeniem i nie zwrócić żadnej wartości. Przykłady wyrażeń zawodnych obejmują indeksowanie do tablicy, ponieważ nieprawidłowy indeks zakończy się niepowodzeniem, oraz używanie operatorów, takich jak porównywanie dwóch wartości.
- wysłanie
Wysłanie oznacza skierowanie czegoś gdzieś. W Verse może na przykład chodzić o wysłanie wywołania funkcji lub wysłanie zdarzenia do słuchacza.
- wywołanie funkcji
Wyrażenie, które ocenia (znane jako wywołanie lub przywołanie) funkcję. Wywołania funkcji mogą przyjmować dwie formy, w zależności od tego, czy funkcja ma efekt
decides:FunctionName()iFunctionName[]. Typ wyniku wyrażenia wywołania funkcji jest zdefiniowany w sygnaturze funkcji.- wywoływacz
Wyrażenie, które powoduje wywołanie.
- wywłaszczenie
Wywłaszczeniem nazywane jest tymczasowe przerwanie wykonywanego zadania z zamiarem wznowienia go w późniejszym czasie. Zazwyczaj wykonywane jest ono przez zewnętrzny harmonogram bez pomocy lub współpracy ze strony zadania.
- wzajemne wykluczanie
Gdy do tego samego segmentu kodu uzyskuje dostęp więcej niż jeden proces, segment ten nazywany jest sekcją krytyczną. Wzajemne wykluczanie to sposób na zapewnienie, że żadne dwa procesy nie uzyskają dostępu do sekcji krytycznej w tym samym czasie.
- wzbudzenie
Gdy funkcja wysyła sygnał, wzbudza (wywołuje) zdarzenie. Zainteresowane strony są powiadamiane o wystąpieniu zdarzenia, takiego jak interakcja z przyciskiem, a wszystkie procedury obsługi zdarzeń są wywoływane.
- wątek
Najmniejsza jednostka przetwarzania, którą można wykonać w systemie operacyjnym.
- węzeł
W UEFN, węzeł to podstawowa jednostka w systemie opartym na grafie, która reprezentuje określoną funkcję, operację lub punkt danych. W kontekście grafów węzłów, węzeł to indywidualny komponent, który przetwarza lub kieruje sygnałami audio, takimi jak źródło dźwięku, efekt (taki jak pogłos lub opóźnienie), mikser lub wyjście.
W przypadku Verse, patrz: węzeł listy powiązanej.
- węzeł głowy
- węzeł listy powiązanej
Każdy element w liście powiązanej nazywany jest węzłem. Węzeł to kontener, który przechowuje pewne dane oraz odwołanie do kolejnego węzła na liście.
- węzeł ogona
Pierwszy węzeł na liście powiązanej to węzeł głowy, a ostatni węzeł to węzeł ogona.
- właściwość
Właściwość to element członkowski (pole), który umożliwia zwracanie wartości i uwidacznianie ich.
- zagnieżdżone
Gdy kod jest zagnieżdżony, jeden blok kodu jest zawarty w innym bloku kodu, który wykonuje szerszą funkcję.
- zakodowane na stałe
Zakodowane na stałe dane są zapisywane bezpośrednio w kodzie zamiast przypisywania ich do zmiennej. Zwykle sprawia to, że kod jest mniej elastyczny i trudniejszy do aktualizacji, ale są przypadki, w których ma to sens.
- zakończenie niepowodzeniem
W Verse każdy kod napisany przez użytkownika domyślnie nie może zakończyć się niepowodzeniem. Oznacza to, że zamiast funkcji zwracającej wartości logiczne (boolean) lub opcje, używa on efektu
<decides>, aby zwrócić wartość, pusty typ danych (void) lub niepowodzenie.- zależność
Zależność występuje, gdy moduł zależy od innych modułów w zakresie niektórych funkcji.
- Zaokrąglenie w dół
Działanie matematyczne, które zaokrągla wartość liczby wymiernej w dół do najbliższej liczby całkowitej. Porównaj z terminem:
Sufit.- zapytanie
Wyrażenia zapytania wykorzystują operator
?w celu sprawdzenia, czy wartość logiczna (logic) lub opcjonalna (option) totrue.- zastąpienie
W Verse możesz zastąpić pola z nadklasy i przypisać początkowe wartości. Na przykład:
Versetank := class(player_character): StartingShields<override> : int = 100 MaxShields<override> : int = 200 AllowOvershield<override> : logic = true DamageReduction : int = 50 CreateTankPlayerCharacter() : tank = return tank{}Klasa tank będzie miała wartości dla
StartingShields,MaxShields, andAllowOvershield, które różnią się od domyślnych wartości klasy.W ten sam sposób można nadpisać wartości metody.
Aby dowiedzieć się więcej, patrz: podklasy.
- Zatwierdź
Zatwierdzenie (ang. commit) ma miejsce, gdy wgrywasz zbiór zmian w kodzie do systemu kontroli wersji.
W języku programowania Verse wprowadzenie efektów kodu wyrażenia zawodnego na stałe, gdy wyrażenie zakończy się powodzeniem.
- Zestaw
Słowo kluczowe, którego można użyć do zmiany wartości zmiennej podczas działania programu.
Składnia jest następująca:
set name = value. Słowosetjest słowem kluczowym,namejest nazwą zmiennej, która ma zostać zmieniona, avaluejest wartością, którą chcemy uzyskać po zmianie.Jest to tzw. przypisanie.
- zmienna (kod)
Wartość, którą można zmienić podczas pracy programu. Nazywa się zmienną, bo może się zmieniać.
Czasami termin "zmienna" odnosi się zbiorczo do zmiennych i stałych, ale chociaż zmienne i stałe są podobne, różnią się jedną ważną rzeczą – wartości stałej nie można zmienić podczas działania programu.
Podstawowa składnia zmiennej składnia to
var name : type = value.varjest słowem kluczowym oznaczającym, że jest to zmienna, anamejest nazwą przypisywaną do zmiennej (znaną jako identyfikator). Znak:wskazuje, że po nim następuje typ. Znak=wskazuje, że następna będzie wartość, po czym następuje sama wartość. Na przykład:VersePlayerSpeed : float = 2.0To wskazuje, że zmienna PlayerSpeed ma wartość 2.0, reprezentowaną jako wartość dziesiętna, która nie zmienia się podczas działania programu.
Nazwa i typ to deklaracja, a inicjacja to miejsce, w którym ta wartość jest wyrażona. Zmienna nie musi mieć przypisanej wartości podczas inicjacji, dobrze jest przypisać taką wartość.
Zmienne różnią się od stałych tym, że można zmienić wartość zmiennej w dowolnym momencie. Robi się to za pomocą wyrażenia przypisania.
- zmienna self
Selfto specjalny identyfikator w Verse, którego można użyć w metodzie klasy, by odwołać się do instancji klasy, w której metoda została wywołana. Do innych pól instancji, w której metoda została wywołana, można tworzyć odwołania bez użycia identyfikatoraSelf, ale jeśli chcesz odwołać się do instancji jako całości, musisz użyć identyfikatoraSelf.- zmienna wskaźnika
Zmienna wskaźnika wskazuje miejsce w pamięci, w którym przechowywana jest wartość. Po utworzeniu zmiennej wskaźnika nie można zmienić lokalizacji pamięci zmiennej wskaźnika, ale można zmienić wartość przechowywaną w tej lokalizacji pamięci.
- znak ucieczki
Znakiem ucieczki w Verse jest lewy ukośnik ( \ ), który tworzy sekwencję ucieczki wewnątrz literału ciągu tekstowego (string). Służy do zmiany znaków kontrolnych, które w przeciwnym razie byłyby interpretowane inaczej. Jeśli na przykład pracujesz z ciągiem tekstowym (string) i chcesz zawrzeć w nim znaki mające predefiniowane zastosowanie, takie jak { }, przed znakiem w ciągu tekstowym musisz dołączyć znak ucieczki "". Dzięki temu
"\\{\\}"będzie renderowane w tekście jako {}.- zniszczenie deterministyczne
Zniszczenie deterministyczne, występujące w niektórych językach programowania, ma miejsce, gdy obiekty są niszczone, kiedy program opuszcza ich zakres.
- łączenie
Patrz: połączenie.
- ścieżka
Ścieżki w Verse tworzą globalną przestrzeń nazw do identyfikacji elementów i bazują na koncepcji domen sieci web. Ścieżki te są trwałe i unikatowe, a każdy programista Verse może je odkrywać.
- Ścieżka Verse
Patrz: ścieżka.
- środowisko Metaverse
Stały i globalnie spójny świat 3D w czasie rzeczywistym ze środowiskiem wykonawczym, które wykonuje współbieżny, złożony, współzależny kod napisany przez użytkownika z milionami jednocześnie połączonych użytkowników.
- śródrostek
Format operatora, w którym występują dwa operandy, a operator znajduje się między operandami.
- żywotność
Patrz: czas życia.