Plik tekstowy: Różnice pomiędzy wersjami
(→Parametry) |
(→Przykład działania) |
||
(Nie pokazano 1 pośredniej wersji utworzonej przez tego samego użytkownika) | |||
Linia 54: | Linia 54: | ||
=== Parametry === | === Parametry === | ||
− | Polecenie include może przyjmować | + | Polecenie include może przyjmować wartości, które zostaną podstawione w miejsce ciągów parametrycznych w dołączanym pliku. |
==== Definicja parametru ==== | ==== Definicja parametru ==== | ||
Linia 62: | Linia 62: | ||
==== Przykład działania ==== | ==== Przykład działania ==== | ||
− | Przykładowa zawartość parametryzowanego pliku (nazwijmy go example.txt) może wyglądać tak: | + | Przykładowa zawartość parametryzowanego pliku (nazwijmy go ''example.txt'') może wyglądać tak: |
Cześć, jestem <span style="color:darkviolet;font-weight:bold">(p1)</span>. Mam <span style="color:darkviolet;font-weight:bold">(p2)</span> lat. | Cześć, jestem <span style="color:darkviolet;font-weight:bold">(p1)</span>. Mam <span style="color:darkviolet;font-weight:bold">(p2)</span> lat. | ||
Linia 68: | Linia 68: | ||
<span style="color:tomato;font-weight:bold">include</span> example.txt Jerzy 50 <span style="color:tomato;font-weight:bold">end</span> | <span style="color:tomato;font-weight:bold">include</span> example.txt Jerzy 50 <span style="color:tomato;font-weight:bold">end</span> | ||
− | Umieszczenie takiego polecenia spowoduje nastepującą interpretację zawartości pliku: | + | Umieszczenie takiego polecenia spowoduje nastepującą interpretację zawartości pliku ''example.txt'': |
Cześć, jestem Jerzy. Mam 50 lat. | Cześć, jestem Jerzy. Mam 50 lat. | ||
Aktualna wersja na dzień 13:45, 6 lip 2022
Artykuł zawiera informacje na temat funkcjonowania plików tekstowych w symulatorze.
Spis treści
Tokeny i separatory
Plik tekstowy składa się z tokenów, czyli ciągów tekstu oddzielonych od siebie separatorami. Podstawowymi separatorami są znaki:
(spacja) (tabulator) (znak nowej linii) ; (średnik) , (przecinek)
Dla lepszej czytelności zalicza się stosowanie jedynie białych znaków, czyli spacji, tabulatora oraz znaku nowej linii.
Gdy zachodzi potrzeba, aby znak separatora był częścią tokenu, wówczas token należy ująć w cudzysłów, tak jak w poniższym przykładzie.
token1 token2 "token;3" token4
Komentarze
W plikach tekstowych można stosować komentarze. Są one ignorowane przez parser. Można w nich zapisywać notatki lub tymczasowo deaktywować wybrane wpisy.
Komentarz liniowy
Znakiem początkowym komentarza liniowego są dwa ukośniki, a jego końcem jest znak nowej linii:
// ta treść jest zakomentowana
ale ta już nie
Komentarz blokowy
Komentarzem blokowym można objąć wiele linii tekstu. Znakiem początkowym jest ukośnik i gwiazdka, a końcowym - gwiazdka i ukośnik.
/* ta treść zajmuje
wiele linii
i jest
zakomentowana */
ale ta już nie jest
Include
Include jest poleceniem które pomaga w modularyzacji plików. Podczas wczytywania pliku gdy parser trafi na polecenie include zawartość dołączonego pliku jest wklejana w miejsce tego polecenia.
include file parameters end
Nazwa | Znaczenie |
---|---|
file | Ścieżka do pliku, którego zawartość ma być podstawiona w miejsce wpisu. |
parameters | Wartości, które zostaną podstawione w miejsce parametrów zdefiniowanych w pliku. |
Parametry
Polecenie include może przyjmować wartości, które zostaną podstawione w miejsce ciągów parametrycznych w dołączanym pliku.
Definicja parametru
Parametr definiuje się za pomocą ciągu parametrycznego:
(pX)
gdzie X jest kolejnym indeksem parametru (zaczynając od 1).
Przykład działania
Przykładowa zawartość parametryzowanego pliku (nazwijmy go example.txt) może wyglądać tak:
Cześć, jestem (p1). Mam (p2) lat.
Dołączenie powyższego pliku za pomocą polecenia include:
include example.txt Jerzy 50 end
Umieszczenie takiego polecenia spowoduje nastepującą interpretację zawartości pliku example.txt:
Cześć, jestem Jerzy. Mam 50 lat.
Zagnieżdżanie parametru
Dopuszczalne jest także zagniezdzanie parametrów. Jesli zdefiniujemy np.
include foo.inc param1_i_(p3) param2 param3 end
to parser przy odczytywaniu takiego include i napotkaniu tokena "wstaw_tutaj_(p1)_oraz_(p2)" wyprodukuje:
wstaw_tutaj_param1_i_param3_oraz_param2