Рекомендуемые
Domain Specific Language с помощью Ruby

- 3334
- 4
- 5
DSL (Domain Specific Languages) — языки, специфичные для решения задач какой-либо предметной области (в противовес языкам общего назначения типа Java или C#). Существует три основных типа DSL:
внутренний DSL (internal DSL);
внешний DSL (external DSL) — это DSL, который написан на языке, отличающемся от основного языка программного приложения;
интегрированная среда разработки DSL (Language Workbench).
На мастер-классе я с помощью языка программирования Ruby создам простой DSL на примере простого генератора XML. Тема близка к метапрограммированию и будет полезна тем, кто уже немного начал изучать Ruby. По сути во время мастер-класса будет написан генератор, который позволит превратить в XML следующий сниппет:
Xml.generate(version: '1.1', encoding: 'UTF-8') do
library {
artist(name: 'Gorillaz') {
song(title: 'Feel Good inc.', year: 2005)
song { 'Clint Eastwood' }
}
artist(name: 'Depeche Mode') {
song(title: 'Enjoy the Silence', year: 1990)
}
}
end
Что это даст?
Вы более глубоко узнаете и поймёте этот язык.
Вы увидите магию, которая попросту отсутствует в других языках.
Вы узнаете некоторые приёмы метапрограммирования с помощью Ruby и то, как их применять для создания DSL.




































