KRET LANGUAGE ACADEMY · DOKUMENTACJA ZE ŹRÓDEŁ
Biblioteka offline z plikiem blokady
Szablon SDK `library`: projekt wymaga `mathx` (zakres `>=1.2.0 <2.0.0`), która zależy od `textutil`. Źródłem jest katalog `vendor`, polityka `offline true` i wydawca `local`. `kret lib restore` rozstrzyga wersje i instaluje do `Libs/` (skróty SHA-256 w `project.klibs.lock`), `kret lib list` pokazuje stan. Kod biblioteki działa z uprawnieniami pluginu — biblioteka niczego nie deklaruje.
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
`list` pokazuje `mathx 1.2.0` i `textutil`; `run` zwraca opis statystyk złożony przez bibliotekę.
Użycie w projekcie modułu zależności pośredniej (`TextUtil`) — projekt widzi tylko moduły bibliotek, których sam wymaga.
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.
- restore
kret lib restore .Katalog: project · Oczekiwany kod wyjścia: 0 - list
kret lib list .Katalog: project · Oczekiwany kod wyjścia: 0 - run
kret run . --policy host-policy.json --data {DATA}Katalog: 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-B01-OfflineLibrary
# Rzeczywisty wynik uruchomienia (SDK 1.0.0-rc.3+kret.local.3, 2026-11-01T12:46:33Z). Ścieżki zastąpione znacznikami <project>, <data>, <out>, <sdk>.
# Actual output of the run. Paths replaced by placeholders.
### 1. restore (exit 0, PASS)
> kret lib restore .
zainstalowano 2 bibliotek w <project>\Libs
### 2. list (exit 0, PASS)
> kret lib list .
mathx 1.2.0 (local) b25c08789f00feaa… ← local:vendor
textutil 1.1.0 (local) 262d5951a1deca88… ← local:vendor
blokada aktualna
### 3. run (exit 0, PASS)
> kret run . --policy host-policy.json --data {DATA}
{
"broker": {
"pid": 11224,
"startupMs": 40.2433,
"pluginHostSha256": "93405d128c95234d913efcd6e28fe54073caa0375135a2184290f958e7f7cfe5",
"allowProvisionalRisk": true,
"memoryIdle": {
"managedBytes": 1193368,
"allocatedBytes": 1190728,
"workingSetBytes": 32501760,
"privateBytes": 10108928,
"peakWorkingSetBytes": 32501760,
"cpuMs": 93.75
}
},
"brokerWithPlugins": {
"memory": {
"managedBytes": 1550048,
"allocatedBytes": 1546880,
"workingSetBytes": 38993920,
"privateBytes": 13860864,
"peakWorkingSetBytes": 39018496,
"cpuMs": 171.875
}
},
"plugins": [
{
"package": "<project>\\Build",
"admitted": true,
"startMs": 146.1355,
"subject": "LOCAL-KPL-LBB2MTHX",
"instance": "01a19725-b5c5-7cdd-bb44-dba5c7b656d6",
"pid": 11860,
"jobObject": true,
"isolation": {
"level": "Restricted",
"restrictedToken": true,
"lowIntegrity": true,
"appContainer": false
},
"limits": {
"profile": "standard",
"scriptMemoryBytes": 67108864,
"processMemoryBytes": 201326592,
"cpuPercent": 25,
"maxInstructions": 50000000,
"clamped": []
},
"calls": [
{
"operation": "start",
"ok": true,
"status": "Completed",
"type": "String",
"value": "[4, 8, 15, 16, 23, 42] suma=108 max=42",
"brokerMs": 16.8948,
"vmMs": 13.1288,
"instructions": 576,
"hostCalls": 1,
"pluginReportedMemory": {
"managedBytes": 791648,
"allocatedBytes": 789440,
"workingSetBytes": 32346112,
"privateBytes": 11169792,
"peakWorkingSetBytes": 32587776,
"cpuMs": 78.125
}
},
{
"operation": "shutdown",
"ok": true,
"status": "Completed",
"type": "Unit",
"value": null,
"brokerMs": 0.5825,
"vmMs": 0.0013,
"instructions": 1,
"hostCalls": 0,
"pluginReportedMemory": {
"managedBytes": 805456,
"allocatedBytes": 803200,
"workingSetBytes": 32370688,
"privateBytes": 11235328,
"peakWorkingSetBytes": 32587776,
"cpuMs": 93.75
}
}
],
"processMemoryMeasuredByBroker": {
"workingSetBytes": 32362496,
"privateBytes": 11169792,
"peakWorkingSetBytes": 32587776,
"cpuMs": 93.75
},
"summary": {
"exitCode": 0,
"killed": false,
"hostCalls": 1,
"denials": 0,
"peakCommitBytes": 12017664,
"log": [
"[info] [4, 8, 15, 16, 23, 42] suma=108 max=42"
]
}
}
],
"brokerAfterClose": {
"memory": {
"managedBytes": 591064,
"allocatedBytes": 1546880,
"workingSetBytes": 40079360,
"privateBytes": 14499840,
"peakWorkingSetBytes": 40079360,
"cpuMs": 171.875
}
},
"audit": {
"entries": 12,
"denials": 0,
"grantsIssued": 1,
"denied": []
},
"exitCode": 0
}
Czytanie kodu linia po linii
Objaśnienia struktury nie są walidacją semantyczną. Szczegółowy kontrakt opisują referencje i README przykładu.
# EXPECTED_OUTPUT — KRETLIB-B01-OfflineLibraryOdczytaj 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:33Z). Ś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. restore (exit 0, PASS)Odczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej.> kret lib restore .Odczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej.zainstalowano 2 bibliotek w <project>\LibsOdczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej.Pusta linia oddziela fragmenty źródła.### 2. list (exit 0, PASS)Odczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej.> kret lib list .Odczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej.mathx 1.2.0 (local) b25c08789f00feaa… ← local:vendorOdczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej.textutil 1.1.0 (local) 262d5951a1deca88… ← local:vendorOdczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej.blokada aktualnaOdczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej.Pusta linia oddziela fragmenty źródła.### 3. run (exit 0, PASS)Odczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej.> kret run . --policy host-policy.json --data {DATA}Odczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej.{Odczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej."broker": {Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."pid": 11224,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."startupMs": 40.2433,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."pluginHostSha256": "93405d128c95234d913efcd6e28fe54073caa0375135a2184290f958e7f7cfe5",Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."allowProvisionalRisk": true,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."memoryIdle": {Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."managedBytes": 1193368,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."allocatedBytes": 1190728,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."workingSetBytes": 32501760,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."privateBytes": 10108928,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."peakWorkingSetBytes": 32501760,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."cpuMs": 93.75Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku.}Zamknięcie struktury otwartej we wcześniejszych liniach.},Zamknięcie struktury otwartej we wcześniejszych liniach."brokerWithPlugins": {Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."memory": {Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."managedBytes": 1550048,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."allocatedBytes": 1546880,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."workingSetBytes": 38993920,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."privateBytes": 13860864,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."peakWorkingSetBytes": 39018496,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."cpuMs": 171.875Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku.}Zamknięcie struktury otwartej we wcześniejszych liniach.},Zamknięcie struktury otwartej we wcześniejszych liniach."plugins": [Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku.{Odczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej."package": "<project>\\Build",Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."admitted": true,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."startMs": 146.1355,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."subject": "LOCAL-KPL-LBB2MTHX",Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."instance": "01a19725-b5c5-7cdd-bb44-dba5c7b656d6",Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."pid": 11860,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."jobObject": true,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."isolation": {Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."level": "Restricted",Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."restrictedToken": true,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."lowIntegrity": true,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."appContainer": falsePole danych JSON; znaczenie wynika z wersjonowanego schematu pliku.},Zamknięcie struktury otwartej we wcześniejszych liniach."limits": {Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."profile": "standard",Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."scriptMemoryBytes": 67108864,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."processMemoryBytes": 201326592,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."cpuPercent": 25,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."maxInstructions": 50000000,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."clamped": []Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku.},Zamknięcie struktury otwartej we wcześniejszych liniach."calls": [Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku.{Odczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej."operation": "start",Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."ok": true,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."status": "Completed",Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."type": "String",Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."value": "[4, 8, 15, 16, 23, 42] suma=108 max=42",Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."brokerMs": 16.8948,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."vmMs": 13.1288,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."instructions": 576,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."hostCalls": 1,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."pluginReportedMemory": {Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."managedBytes": 791648,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."allocatedBytes": 789440,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."workingSetBytes": 32346112,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."privateBytes": 11169792,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."peakWorkingSetBytes": 32587776,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."cpuMs": 78.125Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku.}Zamknięcie struktury otwartej we wcześniejszych liniach.},Zamknięcie struktury otwartej we wcześniejszych liniach.{Odczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej."operation": "shutdown",Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."ok": true,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."status": "Completed",Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."type": "Unit",Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."value": null,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."brokerMs": 0.5825,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."vmMs": 0.0013,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."instructions": 1,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."hostCalls": 0,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."pluginReportedMemory": {Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."managedBytes": 805456,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."allocatedBytes": 803200,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."workingSetBytes": 32370688,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."privateBytes": 11235328,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."peakWorkingSetBytes": 32587776,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."cpuMs": 93.75Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku.}Zamknięcie struktury otwartej we wcześniejszych liniach.}Zamknięcie struktury otwartej we wcześniejszych liniach.],Zamknięcie struktury otwartej we wcześniejszych liniach."processMemoryMeasuredByBroker": {Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."workingSetBytes": 32362496,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."privateBytes": 11169792,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."peakWorkingSetBytes": 32587776,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."cpuMs": 93.75Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku.},Zamknięcie struktury otwartej we wcześniejszych liniach."summary": {Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."exitCode": 0,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."killed": false,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."hostCalls": 1,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."denials": 0,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."peakCommitBytes": 12017664,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."log": [Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."[info] [4, 8, 15, 16, 23, 42] suma=108 max=42"Odczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej.]Zamknięcie struktury otwartej we wcześniejszych liniach.}Zamknięcie struktury otwartej we wcześniejszych liniach.}Zamknięcie struktury otwartej we wcześniejszych liniach.],Zamknięcie struktury otwartej we wcześniejszych liniach."brokerAfterClose": {Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."memory": {Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."managedBytes": 591064,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."allocatedBytes": 1546880,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."workingSetBytes": 40079360,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."privateBytes": 14499840,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."peakWorkingSetBytes": 40079360,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."cpuMs": 171.875Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku.}Zamknięcie struktury otwartej we wcześniejszych liniach.},Zamknięcie struktury otwartej we wcześniejszych liniach."audit": {Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."entries": 12,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."denials": 0,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."grantsIssued": 1,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku."denied": []Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku.},Zamknięcie struktury otwartej we wcześniejszych liniach."exitCode": 0Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku.}Zamknięcie struktury otwartej we wcześniejszych liniach.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/BASIC_OfflineLibrary/example.json
02_PLAYGROUND/EXAMPLES/KRETLIB-B01-OfflineLibrary.json
SHA-256 13B8457952DDB6AFE50EE4F344B1DE6985689FF916E4AAE36C9DA3121A652724Materiał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-B01-OfflineLibrary — Biblioteka offline z plikiem blokady
KRETLIB-B01-OfflineLibrary — Biblioteka offline z plikiem blokady
🇬🇧 English version below.
| Pole | Wartość |
|---|---|
| Technologia | KretLib |
| Poziom | BASIC |
| Klasyfikacja | RUNNABLE_LOCAL — Uruchamialny lokalnie (SDK, izolowany proces pluginu) |
| Playground | LOCAL_EXECUTE — lokalnie: wykonanie w KretStudio / SDK (publicznie: tylko statycznie) |
| SDK | 1.0.0-rc.3+kret.local.3 (kandydat lokalny, niepodpisany) |
| Wynik testu | TEST_RESULTS.json, rzeczywisty wynik: EXPECTED_OUTPUT.txt |
Co pokazuje
Szablon SDK library: projekt wymaga mathx (zakres >=1.2.0 <2.0.0), która zależy od textutil. Źródłem jest katalog vendor, polityka offline true i wydawca local. kret lib restore rozstrzyga wersje i instaluje do Libs/ (skróty SHA-256 w project.klibs.lock), kret lib list pokazuje stan. Kod biblioteki działa z uprawnieniami pluginu — biblioteka niczego nie deklaruje.
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 restore .— rozstrzygnięcie + instalacja offlinekret lib list .— zainstalowane bibliotekikret run . --policy host-policy.json --data {DATA}— uruchomienie z biblioteką
Oczekiwany wynik
list pokazuje mathx 1.2.0 i textutil; run zwraca opis statystyk złożony przez bibliotekę.
Najczęstszy błąd
Użycie w projekcie modułu zależności pośredniej (TextUtil) — projekt widzi tylko moduły bibliotek, których sam wymaga.
Zaloguj się na konto użytkownika, aby zapisywać postęp i zakładki. Konta obsługi mogą czytać bez zapisu postępu. Logowanie →