KRET LANGUAGE ACADEMY · DOKUMENTACJA ZE ŹRÓDEŁ
Paczka biblioteki `.klibpkg` i rozstrzyganie wersji
`kret lib pack` tworzy paczkę biblioteki (ZIP z `library.klib` i `Script/**.krs`; tożsamością jest skrót listy plików). `kret lib resolve --update` ponownie rozstrzyga wersje. Paczki bibliotek **nie są podpisywane** (brak podpisów KretLib — ograniczenie SDK).
Witryna nie wykonuje kodu ani nie prowadzi walidacji SDK. Wyniki poniżej pochodzą z eksportu określonej wersji i przestają opisywać kod po jego zmianie.
Format tego przykładu nie jest obsługiwany przez edytor Playground. Źródła i instrukcje pozostają dostępne.
Kanoniczne pliki projektu
module Main
// Projekt wymaga biblioteki mathx; textutil przychodzi jako jej zależność i nie jest tu używana bezpośrednio.
fn Start() -> String {
let values = [4, 8, 15, 16, 23, 42]
let text = MathX.describe(values)
log.info(text)
return text
}
fn Shutdown() {
}
Czytanie kodu linia po linii
Objaśnienia struktury nie są walidacją semantyczną. Szczegółowy kontrakt opisują referencje i README przykładu.
module MainDeklaracja modułu KretS; porównaj nazwę z nazwą pliku.Pusta linia oddziela fragmenty źródła.// Projekt wymaga biblioteki mathx; textutil przychodzi jako jej zależność i nie jest tu używana bezpośrednio.Komentarz autora; nie jest wykonywany.fn Start() -> String {Sygnatura funkcji: nazwa, argumenty i ewentualny typ wyniku.let values = [4, 8, 15, 16, 23, 42]Wiązanie wartości; typ i możliwość zmiany zależą od użytej deklaracji.let text = MathX.describe(values)Wiązanie wartości; typ i możliwość zmiany zależą od użytej deklaracji.log.info(text)Odczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej.return textZwrócenie wartości z funkcji; nie jest zapisem do dziennika.}Zamknięcie struktury otwartej we wcześniejszych liniach.Pusta linia oddziela fragmenty źródła.fn Shutdown() {Sygnatura funkcji: nazwa, argumenty i ewentualny typ wyniku.}Zamknięcie struktury otwartej we wcześniejszych liniach.
Wynik i typowy błąd
Kod 0 w obu krokach; w `{OUT}` powstaje `mathx-1.2.0.klibpkg`.
Liczenie na automatyczny wybór wersji przedpremierowej: `>=1.2.0 <2.0.0` **nie** dopuszcza `2.0.0-rc.1` (wariant bezpieczny do decyzji KCS-08).
Wymagania wersji i procedura lokalna
- sdk
- 1.0.0-rc.3+kret.local.3
- sdkInfoReports
- 1.0.0-rc.3
- core
- 1.0.0-test.6.11-draft.1
- os
- Windows 11 x64
- dotnet
- .NET 10 runtime
Polecenia poniżej są instrukcją do samodzielnego wykonania z właściwym lokalnym SDK. DATA/OUT muszą wskazywać nowe katalogi testowe. Nie ma przycisku uruchamiania na serwerze.
- pack
kret lib pack vendor/mathx -o {OUT}/mathx-1.2.0.klibpkgKatalog: project · Oczekiwany kod wyjścia: 0 - resolve-update
kret lib resolve . --updateKatalog: project · Oczekiwany kod wyjścia: 0
Wyniki zapisane w pakiecie źródłowym
To dowód z eksportu, nie wynik bieżącego wykonania w przeglądarce.
# EXPECTED_OUTPUT — KRETLIB-A01-PackLibrary
# Rzeczywisty wynik uruchomienia (SDK 1.0.0-rc.3+kret.local.3, 2026-11-01T12:46:32Z). Ścieżki zastąpione znacznikami <project>, <data>, <out>, <sdk>.
# Actual output of the run. Paths replaced by placeholders.
### 1. pack (exit 0, PASS)
> kret lib pack vendor/mathx -o {OUT}/mathx-1.2.0.klibpkg
mathx 1.2.0 (local) sha256 b25c08789f00feaac296671fead1d16d0d7fa7c9b5f732edf36791f8f3597611
paczka: <out>/mathx-1.2.0.klibpkg
### 2. resolve-update (exit 0, PASS)
> kret lib resolve . --update
blokada: <project>\project.klibs.lock (2 bibliotek)
Czytanie kodu linia po linii
Objaśnienia struktury nie są walidacją semantyczną. Szczegółowy kontrakt opisują referencje i README przykładu.
# EXPECTED_OUTPUT — KRETLIB-A01-PackLibraryOdczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej.# Rzeczywisty wynik uruchomienia (SDK 1.0.0-rc.3+kret.local.3, 2026-11-01T12:46:32Z). Ścieżki zastąpione znacznikami <project>, <data>, <out>, <sdk>.Odczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej.# Actual output of the run. Paths replaced by placeholders.Odczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej.Pusta linia oddziela fragmenty źródła.### 1. pack (exit 0, PASS)Odczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej.> kret lib pack vendor/mathx -o {OUT}/mathx-1.2.0.klibpkgOdczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej.mathx 1.2.0 (local) sha256 b25c08789f00feaac296671fead1d16d0d7fa7c9b5f732edf36791f8f3597611Odczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej.paczka: <out>/mathx-1.2.0.klibpkgOdczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej.Pusta linia oddziela fragmenty źródła.### 2. resolve-update (exit 0, PASS)Odczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej.> kret lib resolve . --updateOdczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej.blokada: <project>\project.klibs.lock (2 bibliotek)Odczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej.Pusta linia oddziela fragmenty źródła.Pusta linia oddziela fragmenty źródła.
Diagnostyka i raporty testów
null
Czytanie kodu linia po linii
Objaśnienia struktury nie są walidacją semantyczną. Szczegółowy kontrakt opisują referencje i README przykładu.
nullOdczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej.
Pochodzenie i integralność
KRET_TECH_KRETLIB.zip:KretLib/Examples/ADVANCED_PackLibrary/example.json
02_PLAYGROUND/EXAMPLES/KRETLIB-A01-PackLibrary.json
SHA-256 51754FA8E3011E547B5DD0FDC7548548DAAF7A48CA247E09BC0252F3010B3202Materiały źródłowe do tego tematu
Przeczytaj powiązane rozdziały. Kod i kontrakty zachowano z importu; historia źródeł jest dostępna przy każdym rozdziale.
KRETLIB-A01-PackLibrary — Paczka biblioteki `.klibpkg` i rozstrzyganie wersji
KRETLIB-A01-PackLibrary — Paczka biblioteki .klibpkg i rozstrzyganie wersji
🇬🇧 English version below.
| Pole | Wartość |
|---|---|
| Technologia | KretLib |
| Poziom | ADVANCED |
| Klasyfikacja | VALIDATION_ONLY — Tylko walidacja (bez wykonania) |
| Playground | LOCAL_VALIDATE — lokalnie: walidacja (kret check, lokalny walidator Playground) |
| SDK | 1.0.0-rc.3+kret.local.3 (kandydat lokalny, niepodpisany) |
| Wynik testu | TEST_RESULTS.json, rzeczywisty wynik: EXPECTED_OUTPUT.txt |
Co pokazuje
kret lib pack tworzy paczkę biblioteki (ZIP z library.klib i Script/**.krs; tożsamością jest skrót listy plików). kret lib resolve --update ponownie rozstrzyga wersje. Paczki bibliotek nie są podpisywane (brak podpisów KretLib — ograniczenie SDK).
Pliki
| Plik |
|---|
Script/Main.krs |
host-policy.json |
plugin.kretl |
project.klibs |
project.klibs.lock |
vendor/mathx/Script/MathX.krs |
vendor/mathx/library.klib |
vendor/textutil/Script/TextInternal.krs |
vendor/textutil/Script/TextUtil.krs |
vendor/textutil/library.klib |
Jak uruchomić
Katalog roboczy: katalog tego przykładu. kret oznacza <SDK>\Compiler\kret.exe, kretui-host — <SDK>\UiHost\kretui-host.exe. {DATA} / {OUT} to nowe, puste katalogi poza projektem. Wymagania: REQUIREMENTS.md.
kret lib pack vendor/mathx -o {OUT}/mathx-1.2.0.klibpkg— paczka bibliotekikret lib resolve . --update— ponowne rozstrzygnięcie wersji
Oczekiwany wynik
Kod 0 w obu krokach; w {OUT} powstaje mathx-1.2.0.klibpkg.
Najczęstszy błąd
Liczenie na automatyczny wybór wersji przedpremierowej: >=1.2.0 <2.0.0 nie dopuszcza 2.0.0-rc.1 (wariant bezpieczny do decyzji KCS-08).
Zaloguj się na konto użytkownika, aby zapisywać postęp i zakładki. Konta obsługi mogą czytać bez zapisu postępu. Logowanie →