【问题标题】:What is the difference between Haml and Yaml in Ruby on Rails?Ruby on Rails 中的 Haml 和 Yaml 有什么区别?
【发布时间】:2018-03-26 12:03:35
【问题描述】:

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

正如我所遇到的,yaml(yet another mark-up language) 用于存储需要在服务器启动之前加载的静态内容(例如在I18n 语言翻译中),有些用作存储'boolean' 值的开关。

最近在一些 SO 问题中,我看到 haml 在 rails 中使用,据我所知,两者都是标记语言。这两者之间有什么区别,以及在使用 Rails 时喜欢什么和不喜欢什么。

请对此有所了解:)

【问题讨论】:

  • “都是标记语言” – YAML 不是标记语言
  • 这就是“YAML”的含义;-)
  • @Stefan,感谢您对yaml 标记问​​题的澄清。

标签: ruby-on-rails ruby yaml haml


【解决方案1】:

虽然hamlyaml 听起来很相似,但它们实际上是非常不同的。 yaml 用于编写配置文件,haml 用于输出 HTML。

【讨论】:

    【解决方案2】:

    他们没有任何关系。

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

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

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

    【讨论】:

      猜你喜欢
      • 2010-11-17
      • 2011-01-23
      • 1970-01-01
      • 2010-09-14
      • 2011-07-29
      • 2011-10-19
      • 1970-01-01
      • 2011-04-25
      相关资源
      最近更新 更多