探索 CoffeeScript 中的领域特定语言与编译器机制
1. 领域特定语言(DSL)概述
CoffeeScript 是一种通用编程语言,旨在解决各类编程问题。与之不同,领域特定语言(DSL)专注于解决特定类型的问题。我们可以按照自己喜欢的方式描述程序,之后再考虑实现细节,描述方式可以是自然语言、通用编程语言(如 CoffeeScript)或专门解决特定问题的 DSL。
2. 外部 DSL 与内部 DSL
- 外部 DSL :以 CSS 为例,若 CSS 不存在,使用 CoffeeScript 为 HTML 元素设置样式会很繁琐。如让
<strong>元素内的文本加粗变红,直接操作属性会很麻烦:
strongElements = document.getElementsByTagName 'strong'
for strongElement in StrongElements
strongElement.fontWeight = 'bold'
strongElement.color = 'red'
可以使用对象声明样式规则,再应用到元素上,这样的语法会接近 CSS:
strongStyle:
fontWeight: 'bold'
color: 'red'
strongElements = document.getElements
超级会员免费看
订阅专栏 解锁全文
76

被折叠的 条评论
为什么被折叠?



