DOT DSL

DOT DSL

Közepes

Utasítások

A tartományspecifikus nyelv (DSL) egy adott területre optimalizált kis nyelv. Mivel a DSL célzott, nagyban növelheti a termelékenységet és a megértést azzal, hogy az író azt deklarálhatja, amit szeretne, nem pedig azt, hogy hogyan.

Az egyik problématerület, ahol ezeket alkalmazzák, a bonyolult testreszabások és konfigurációk.

Például a DOT nyelv segítségével szövegesen leírhatsz egy gráfot, amelyet aztán a Graphviz egyik eszköze (például a dot) képpé alakít. Egy egyszerű gráf így néz ki:

graph {
    graph [bgcolor="yellow"]
    a [color="red"]
    b [color="blue"]
    a -- b [color="green"]
}

Ha ezt egy example.dot fájlba írod, és lefuttatod a dot example.dot -T png -o example.png parancsot, létrejön egy example.png kép, amelyen sárga háttéren egy piros és egy kék kör látható, zöld vonallal összekötve.

Írj egy tartományspecifikus nyelvet, amely hasonlít a Graphviz dot nyelvéhez.

A mi DSL-ünk abban hasonlít a Graphviz dot nyelvéhez, hogy gráf adatszerkezetek létrehozására fogjuk használni. A DOT nyelvvel ellentétben azonban a mi DSL-ünk belső DSL lesz, amelyet csak a saját nyelvünkben használunk.

Tudj meg többet a belső és a külső DSL közötti különbségről.

Builder-minta

Ez a feladat azt várja el tőled, hogy több structot a builder pattern segítségével építs fel. Röviden: ez a minta lehetővé teszi, hogy a structod sok argumentumot tartalmazó létrehozó függvényét több különálló függvényre bontsd. Ez a megközelítés tömör, mégis rendkívül rugalmas módot ad a structok létrehozására és beállítására. Erről bővebben a következő oldalon olvashatsz.


Forrás

WikipediaA hivatkozás új ablakban vagy lapon nyílik meg
Szerkesztés GitHubon A hivatkozás új ablakban vagy lapon nyílik meg
Rust Exercism

Készen állsz elkezdeni a(z) DOT DSL feladatot?

Iratkozz fel az Exercism-re, hogy megtanuld és elsajátítsd a(z) Rust nyelvet 99 feladat segítségével, valódi emberi mentorálással, mindez ingyen.