在考 ansible. playbook 流程控制理解起来没啥问题. 这种缩进语法真的是... 给我整自闭了.
1
xiaoz 2022 年 12 月 21 日 via Android
稍有不慎就报错,哈哈。我也觉得这种写法不太友好。尤其是复制粘贴的时候。
|
2
dcsuibian 2022 年 12 月 21 日
你用的啥编辑器
|
4
dzdh 2022 年 12 月 21 日
为啥 yaml 这么受推崇呢
|
6
sdk234 2022 年 12 月 22 日 via Android
习惯问题。我特别喜欢这种缩进语法,看着很舒服。😂
|
8
bgm004 2022 年 12 月 22 日 via Android
想起以前用 hexo 搭博客,因为 yaml 的缩进,一个问题卡一天。😢
|
9
also24 2022 年 12 月 22 日 via Android 很多人好像都没有意识到 yaml 是可以用括号的…
|
10
48y1951r9G8k7Zou 2022 年 12 月 22 日 众所周知 yaml 是 json 的超集
不习惯的话写 json 就好了( |
11
dcsuibian 2022 年 12 月 22 日
xml-->json-->yaml 。我觉得 yaml 挺好的。
XML 应该算老前辈了,配合 dtd 和 ide 写起来也很舒服。但总体来说确实复杂,文件庞大。 JSON 相比于 xml 精简了很多,而且其中的几种类型:数字、布尔、字符串、null 、对象(键值对)、数组(列表)。这些类型在其它语言里有对应。 但做配置不合适,因为 json 更多是为数据交换考虑的,语法严格(比如必须双引号、不能有多余的逗号),不允许有注释。这对解析器友好,但对手写的配置文件就不一样了。 yaml 的话,算是 JSON 的超集,我基本那它当一个更好写的 JSON 。JSON 的数据类型它都有,但写起来更方便舒服。 另外.properties 、.ini 就不说了,觉得不怎么样。 |
12
paradox8599 2022 年 12 月 22 日 via Android 有人用 toml 的吗?感觉也还不错
|
13
KMpAn8Obw1QhPoEP 2022 年 12 月 22 日 via Android @paradox8599 感觉还不如 yaml 。。
|
14
singerll 2022 年 12 月 22 日 via Android
想在服务器上临时改个参数,经常 vim 敲完报错,还得切 vsc 之类的编辑器。。。
|
15
lucifer9 2022 年 12 月 22 日 via iPhone 说的就跟真手写配置文件似的
还不是都复制一下改改 想想看是多删了一个括号好查出来 还是多删了个空格好查出来? |
16
chih758 2022 年 12 月 22 日 via Android
你可以用 jsonnet 写😉
|
17
wangxiaoaer 2022 年 12 月 22 日 你说这些配置文件,一届一届换了多少种格式了,改过吗?换汤不换药啊!
你 spring 、hexo 都在用 yaml 了,能用,但是快不了!出个缩进问题就卡半天,没这个能力知道吗? 再下去就要换 toml ,再不行就换魔改 dsl ,接下来没啥可换的啦。 Json 用的蛮好的,你把他换了干什么? |
18
IvanLi127 2022 年 12 月 22 日 via Android
数据结构不复杂的话,用 yaml 比 json 好太多了。复杂的话缩进是有点乱,不过 json 也一样吧。。。少写个花括号不也是很要命。我反正很喜欢 yaml ,不过写配置的话,我更喜欢 toml
|
19
isnullstring 2022 年 12 月 22 日
看着头大,ini 直观些,哈哈哈
|
20
root01 2022 年 12 月 22 日
json 更恶心
|
21
ysn2233 2022 年 12 月 22 日
我感觉 yaml 还行啊,json 要写一大堆引号感觉更烦
|
22
GlobalNPC 2022 年 12 月 22 日 大家都来用 toml 吧
|
24
weixiangzhe 2022 年 12 月 22 日
老派就是回到 json5, 新派就用 toml 吧
|
25
whileFalse 2022 年 12 月 22 日 via iPhone
@wangxiaoaer 你可以在 yaml 里写 json 。不行就弄个小程序一键转吧
汇编用的蛮好的,为什么你非要换用高级语言呢。 |
26
perfectlife 2022 年 12 月 22 日 via Android
用 k8s 后 yaml 就写习惯了
|
27
mxT52CRuqR6o5 2022 年 12 月 22 日 via Android
你可能需要一个游标卡尺
|
28
Konys 2022 年 12 月 22 日
yml 可以了, 比 xml 和 properties 文件强太多了
|
29
ysc3839 2022 年 12 月 22 日
@dzdh 个人猜测是出现得早,支持 merge keys 等比较实用的功能,以及强制格式可以大大增加可读性,且对专业用户来说并不会带来太多不便。比如用 Python 和其他不强制缩进语言对比,一些不注重代码格式的人写其他语言往往比较乱,而 Python 则乱得没那么厉害。
|
30
itskingname 2022 年 12 月 22 日
我觉得有这种感受的人,都是 Yaml 格式自己写得不规范。类似的还有觉得写 Python 代码要用游标卡尺。
正常情况下,Python 代码的嵌套缩进不会超过 3 层,超过了一定是代码本身有问题,是可以通过改进代码来减少缩进的。同理,Yaml 也是一样,你缩进十几层那肯定是因为写得不规范。 Yaml 是有类似变量的这种机制的,当你不得不深层嵌套的时候,是可以在顶层赋值给一个变量,然后在别处直接通过变量来引用,这样就可以避免深层缩进嵌套的问题。 |
31
securityCoding 2022 年 12 月 22 日
yaml 挺好一目了然,ini json 写个配置能把人写吐了,尤其是 json
|
32
4BVL25L90W260T9U 2022 年 12 月 22 日
Python 用缩进基本可以接受,代码复制来复制去的场景是不多见的。但是 yaml 这种配置用缩进真的是无语,配置文件还是经常需要复制的。连 Python 现在都用 pyproject.toml ,而不是 yaml 了。
|
33
adoal 2022 年 12 月 22 日
缩进的语言那么多,只有 Python 和 YAML 这样用得广泛的才配被人骂😄
|
35
also24 2022 年 12 月 22 日
好像仍然很多人没意识到我前面说的 yaml 是可以用括号的。
那具体化一点,我们随便找个例子 version: "3.9" services: web: build: . ports: - "8000:5000" redis: image: "redis:alpine" 上面这一段,是可以等同于下面这一段的 {"version": "3.9","services": { "web": {"build": ".","ports": ["8000:5000"]}, "redis": {"image": "redis:alpine"} }} |
36
xuyang2 2022 年 12 月 22 日 |
37
also24 2022 年 12 月 22 日 好像缩进有点问题,截图说明吧,下面这几种写法,都是有效的
|
38
GG668v26Fd55CP5W 2022 年 12 月 22 日
是的,这玩意是真恶心,次看到就头大,每次改的时候小心翼翼。
|
39
GG668v26Fd55CP5W 2022 年 12 月 22 日
如果在服务器上用 vim 改,一个复制粘贴下去我了个去
|
40
JsonNode 2022 年 12 月 22 日
每次改 clash 的配置文件复制粘贴之后缩进不对都想骂人
|
41
hxtheone 2022 年 12 月 22 日 via iPhone
人生苦短,新项目直接 toml
|
42
tairan2006 2022 年 12 月 22 日
你用 jsonnet 生成啊……
|
43
mingsi 2022 年 12 月 22 日 via Android
看好几个人推荐 toml 于是了解了一下,看起来是升级版的 ini ,只适合小项目玩玩
https://hitchdev.com/strictyaml/why-not/toml/ |
44
julyclyde 2022 年 12 月 23 日
@also24 你这个所谓用括号好像是 json 啊,不是 yaml
yaml 里好像只有 list 、dict 类型的 value 可以用括号吧 |
47
Ricardoo 2022 年 12 月 23 日
看了一圈,没人用 json5
我倒挺喜欢的 |
48
also24 2022 年 12 月 23 日
|
53
also24 2022 年 12 月 26 日 @julyclyde #52
https://yaml.org/spec/1.2.2/#12-yaml-history The YAML 1.23 specification was published in 2009. Its primary focus was making YAML a strict superset of JSON. It also removed many of the problematic implicit typing recommendations. |
55
crazyweeds 2023 年 4 月 14 日
ubuntu 下面编辑 netplan 配置,我已经吐了,无数遍了,都是失败。。没网络,数空格。要不是为了安装 rancher ,我绝对不会用 ubuntu ,因为 yaml !!!
|