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.
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.
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.