Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/54.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails RubyonRails中Haml和Yaml的区别是什么?_Ruby On Rails_Ruby_Yaml_Haml - Fatal编程技术网

Ruby on rails RubyonRails中Haml和Yaml的区别是什么?

Ruby on rails RubyonRails中Haml和Yaml的区别是什么?,ruby-on-rails,ruby,yaml,haml,Ruby On Rails,Ruby,Yaml,Haml,我是一名RubyonRails开发人员,在过去的7个月里一直致力于这项技术。在Rails上工作时,我多次遇到yaml文件 正如我遇到的yaml(另一种标记语言)用于存储服务器启动前需要加载的静态内容(如在I18n语言翻译中),有些用作存储布尔值的开关 最近在一些问题中,我看到了在rails中使用的haml,据我所知,这两种语言都是标记语言。这两者之间的区别是什么,以及在使用rails时喜欢什么和不喜欢什么 请解释一下:)虽然haml和yaml听起来非常相似,但实际上它们非常不同yaml用于编写配

我是一名RubyonRails开发人员,在过去的7个月里一直致力于这项技术。在Rails上工作时,我多次遇到
yaml
文件

正如我遇到的
yaml(另一种标记语言)
用于存储服务器启动前需要加载的静态内容(如在
I18n
语言翻译中),有些用作存储
布尔值的开关

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


请解释一下:)

虽然
haml
yaml
听起来非常相似,但实际上它们非常不同
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的替代品。

“两者都是标记语言”——YAML不是标记语言,这就是“YAML”的意思;-)@Stefan,感谢您澄清yaml的加价问题。