yml 这种缩进语法好烦...

2022-12-21 22:20:21 +08:00
 proxychains

在考 ansible. playbook 流程控制理解起来没啥问题. 这种缩进语法真的是... 给我整自闭了.

4338 次点击
所在节点    问与答
55 条回复
ysn2233
2022-12-22 09:11:31 +08:00
我感觉 yaml 还行啊,json 要写一大堆引号感觉更烦
infun
2022-12-22 09:28:07 +08:00
大家都来用 toml 吧
WIN2333
2022-12-22 09:49:21 +08:00
@lucifer9 服务器上改配置都是 vim 。。。出问题是真的很麻烦的
weixiangzhe
2022-12-22 10:09:42 +08:00
老派就是回到 json5, 新派就用 toml 吧
whileFalse
2022-12-22 10:15:27 +08:00
@wangxiaoaer 你可以在 yaml 里写 json 。不行就弄个小程序一键转吧
汇编用的蛮好的,为什么你非要换用高级语言呢。
perfectlife
2022-12-22 10:19:33 +08:00
用 k8s 后 yaml 就写习惯了
mxT52CRuqR6o5
2022-12-22 10:48:23 +08:00
你可能需要一个游标卡尺
Konys
2022-12-22 10:52:48 +08:00
yml 可以了, 比 xml 和 properties 文件强太多了
ysc3839
2022-12-22 10:57:55 +08:00
@dzdh 个人猜测是出现得早,支持 merge keys 等比较实用的功能,以及强制格式可以大大增加可读性,且对专业用户来说并不会带来太多不便。比如用 Python 和其他不强制缩进语言对比,一些不注重代码格式的人写其他语言往往比较乱,而 Python 则乱得没那么厉害。
itskingname
2022-12-22 11:17:41 +08:00
我觉得有这种感受的人,都是 Yaml 格式自己写得不规范。类似的还有觉得写 Python 代码要用游标卡尺。

正常情况下,Python 代码的嵌套缩进不会超过 3 层,超过了一定是代码本身有问题,是可以通过改进代码来减少缩进的。同理,Yaml 也是一样,你缩进十几层那肯定是因为写得不规范。

Yaml 是有类似变量的这种机制的,当你不得不深层嵌套的时候,是可以在顶层赋值给一个变量,然后在别处直接通过变量来引用,这样就可以避免深层缩进嵌套的问题。
securityCoding
2022-12-22 11:20:32 +08:00
yaml 挺好一目了然,ini json 写个配置能把人写吐了,尤其是 json
ospider
2022-12-22 11:38:35 +08:00
Python 用缩进基本可以接受,代码复制来复制去的场景是不多见的。但是 yaml 这种配置用缩进真的是无语,配置文件还是经常需要复制的。连 Python 现在都用 pyproject.toml ,而不是 yaml 了。
adoal
2022-12-22 11:38:36 +08:00
缩进的语言那么多,只有 Python 和 YAML 这样用得广泛的才配被人骂😄
LaTero
2022-12-22 12:39:49 +08:00
@adoal 说明绝大部分用缩进的都流行不起来。
also24
2022-12-22 13:15:42 +08:00
好像仍然很多人没意识到我前面说的 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"}
}}
xuyang2
2022-12-22 13:25:30 +08:00
also24
2022-12-22 13:26:29 +08:00
好像缩进有点问题,截图说明吧,下面这几种写法,都是有效的

falcon05
2022-12-22 13:31:19 +08:00
是的,这玩意是真恶心,次看到就头大,每次改的时候小心翼翼。
falcon05
2022-12-22 13:33:23 +08:00
如果在服务器上用 vim 改,一个复制粘贴下去我了个去
lovedoing
2022-12-22 13:47:55 +08:00
每次改 clash 的配置文件复制粘贴之后缩进不对都想骂人

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/904015

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX