Przejdź do treści

KRET LANGUAGE ACADEMY · DOKUMENTACJA ZE ŹRÓDEŁ

Powtarzalne rozstrzyganie

INTERMEDIATE30 min
Postęp nauki 0 / 3
Zaloguj się na konto użytkownika, aby zachować postęp.

Czego się nauczysz

  • Prześledź źródła i wyjaśnij opisany kontrakt.
  • Prześledź dwie biblioteki vendor w KretMultiLanguage i odpowiadające im wpisy lock.
Wymagania wstępne
  • Ukończ Podstawy i wcześniejszy poziom tej ścieżki.

Wyjaśnienie krok po kroku

Powtarzalny build wymaga tych samych zależności i skrótów. Nie zastępuj brakującej biblioteki dowolnym plikiem o tej samej nazwie. Oddziel wersję projektu od wersji każdej zależności.

Materiał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 — API / CLI

KretLib — API / CLI

Polski

API / polecenieOpis
kret lib resolve <projekt> [--update]rozstrzygnięcie wersji
kret lib install | restore | list <projekt>instalacja do Libs/, stan
kret lib pack <katalog biblioteki> [-o plik.klibpkg]paczka biblioteki
Otwórz cały rozdział ze źródłem →
KretLib — specyfikacja (zakres kontraktu 1.0)

KretLib — specyfikacja (zakres kontraktu 1.0)

Status 1.0: `FROZEN_SUPPORTED_SUBSET` — zamrożony dokładnie opisany zakres; reszta poza kontraktem 1.0. Gramatyka/wersja: klib "1.0" · klibs "1.0". Status języka nie nadaje uprawnień KCS ani prawa do działania w Production.

Źródła normatywne (kopie w Sources/, kolejność pierwszeństwa: decyzje właściciela → zamrożony kontrakt → kod SDK → testy):

  • LANGUAGE_FREEZE_1_0/12_LANGUAGE_COMPATIBILITY_MATRIX.md
  • SDK 06_Libraries/KretLib/README.md

Elementy języka

ElementStan w KretLib
Plikilibrary.klib (klib "1.0", library nazwa { id version publisher description export require }), project.klibs (klibs "1.0", policy, source, require), project.klibs.lock (JSON).
Komentarze//.

Zakres poza kontraktem / ograniczenia

  • biblioteki z KretBridge/KretDB/UI (biblioteki zawierają tylko moduły KretS)
  • równoległe wersje tej samej biblioteki (NOT_SUPPORTED)
  • zakładanie autentyczności wydawcy (brak podpisów)
  • Zamrożony zakres: offline + blokada + skróty. Rejestr testowany tylko z serwerem testowym (rzeczywisty: NOT_RUN).
  • Ograniczenie tej rundy (EXP-F02): kretui-host --self-test nie dołącza bibliotek (KCS-KRS-1003).

Pełna referencja konstrukcji: SYNTAX_REFERENCE.md.

Otwórz cały rozdział ze źródłem →
KretLib — samouczek INTERMEDIATE

KretLib — samouczek INTERMEDIATE

Status 1.0: `FROZEN_SUPPORTED_SUBSET` — zamrożony dokładnie opisany zakres; reszta poza kontraktem 1.0. Gramatyka/wersja: klib "1.0" · klibs "1.0". Status języka nie nadaje uprawnień KCS ani prawa do działania w Production.

Cel: moduły, łączenie funkcji, dane, konfiguracja, komunikacja, obsługa błędów, interfejsy SDK.

Narzędzia: kret = <SDK>\Compiler\kret.exe (SDK 1.0.0-rc.3+kret.local.3), kretui-host = <SDK>\UiHost\kretui-host.exe. {DATA}/{OUT} = nowe, puste katalogi.

Brak przykładów na tym poziomie dla tej technologii (zgodnie z zakresem implementacji).

Otwórz cały rozdział ze źródłem →

Ćwiczenie i sprawdzenie wiedzy

Prześledź dwie biblioteki vendor w KretMultiLanguage i odpowiadające im wpisy lock.

Szkic nie jest wysyłany na serwer i znika po opuszczeniu lekcji. Przed wyjściem możesz go skopiować.
Podpowiedzi
  • KretLib zarządza bibliotekami KretS: manifest biblioteki (`library.klib`), wymagania projektu (`project.klibs`), rozstrzyganie wersji, plik blokady ze skrótami SHA-256, instalacja offline do `Libs/` i opcjonalny rejestr HTTPS. Zamrożony zakres: biblioteki offline z blokadą i skrótami. Biblioteka **nie deklaruje uprawnień**.
  • Odczytaj ograniczenia i oczekiwane błędy z dostarczonego samouczka; check i run są oddzielnymi krokami.
Omówienie rozwiązania

Odpowiedź oprzyj na pokazanym kodzie i rozdziale źródłowym. Powtarzalny build wymaga tych samych zależności i skrótów. Nie zastępuj brakującej biblioteki dowolnym plikiem o tej samej nazwie. Oddziel wersję projektu od wersji każdej zależności.

Które podsumowanie jest zgodne z lekcją?

To quiz o opisanym kontrakcie. Nie kompiluje kodu, nie potwierdza wykonania programu i nie przyznaje nagród.

Podsumowanie i następny krok

Powtarzalny build wymaga tych samych zależności i skrótów. Nie zastępuj brakującej biblioteki dowolnym plikiem o tej samej nazwie. Oddziel wersję projektu od wersji każdej zależności.

Zaloguj się na konto użytkownika, aby zapisywać postęp i zakładki. Konta obsługi mogą czytać bez zapisu postępu. Logowanie →

Wybierz, co możemy zapamiętać w tej przeglądarce. Możesz zmienić decyzję w każdej chwili.

Polityka prywatności