На информационном ресурсе применяются рекомендательные технологии (информационные технологии предоставления информации на основе сбора, систематизации и анализа сведений, относящихся к предпочтениям пользователей сети "Интернет", находящихся на территории Российской Федерации)

GeekBrains

4 подписчика

Domain Specific Language с помощью Ruby

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.

Ссылка на первоисточник

Картина дня

наверх