首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在test.yaml格式文件中,一些MAC地址将被判断为数字。

在test.yaml格式文件中,一些MAC地址将被判断为数字。
EN

Stack Overflow用户
提问于 2018-10-10 03:35:05
回答 2查看 636关注 0票数 1

MAC地址80:41:26:53:24:11被判定为数字62745168251,而84:19:14:15:86:58被判定为字符串。

EN

回答 2

Stack Overflow用户

发布于 2018-10-10 03:52:47

您应该始终在以数字开头并由数字和非数字字符组成的字符串文本周围使用引号,以避免YAML解析器混淆:

代码语言:javascript
复制
MAC1: "80:41:26:53:24:11"

否则,如果字符串文字由由冒号和除第一个数字以外的所有数字分隔的一个或两个数字组成的序列组成,则它将被解释为一个0数字,并转换为相等的秒数。例如,您的MAC地址80:41:26:53:24:11将被视为一个十六进制数字,并转换为:

代码语言:javascript
复制
(((((80*60)+41)*60+26)*60+53)*60+24)*60+11

它等于62745168251

因为您的另一个MAC地址,84:19:14:15:86:58,在59上的第一个数字之后有一个数字(86,也就是),所以它不被认为是一个十六进制数字,因此被字面上视为一个字符串。

相关的源代码可以在解析器构造函数中找到。

票数 3
EN

Stack Overflow用户

发布于 2018-10-10 03:52:39

不确定语法高亮显示是怎么回事,但是,也许有一个线索。在MAC地址之前删除一些白领会有什么不同吗?

如果希望将yaml中的任何值显式地计算为字符串,请将值包装为双引号或单引号。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52732222

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档