Rails Ruby 中的 Haml 和 Yaml 有什么区别?

What is the difference between Haml and Yaml in Ruby on Rails?

我是 Ruby Rails 开发人员,过去 7 个月一直致力于这项技术。在处理 Rails 多次时,我遇到了 yaml 个文件。

我遇到的 yaml(yet another mark-up language) 用于存储服务器启动前需要加载的静态内容(如 I18n 语言翻译)和一些用作存储 'boolean' 值。

最近在一些 SO 问题中我看到 haml 在 rails 中使用,据我所知两者都是标记语言。这两者有什么区别,使用 rails.

时喜欢什么和不喜欢什么?

请说明一下:)

虽然hamlyaml听起来很相似,但实际上却大不相同。 yaml用于写配置文件,haml用于输出HTML。

他们之间没有任何关系。

HAML 是一种用于半结构化文档的标记语言。它的语义本质上等同于HTML,使用域也是一样的。此外,HAML也是一种模板语言,它允许在通用编程语言(通常Ruby)中嵌入任意代码,类似于ERb。

YAML 是一种数据语言。它的语义比 JSON 更高级一点(事实上,从 YAML 1.2 开始,YAML 是 JSON 的适当超集,即每个 JSON 文档也是 YAML 1.2 文档)和低于 XML 的某处(作为纯数据语言,而不是文档标记语言),但它的使用域与这两者相同。

简而言之:HAML 是 HTML(和 ERb)的替代品,YAML 是 JSON 和 XML 的替代品。