如何在YAML中表示价值+单位?

 mobiledu2502857377 发布于 2023-02-07 23:06

我正在设计一个新的配置/数据格式,它将在YAML中.许多输入是int/float值,带有相关单位(例如升,夸脱,品脱,秒,分钟......).

我一直在搜索和阅读,但仍然无法弄清楚:在YAML中将单位与配置项关联的最佳方法是什么?

示例:假设我有几种饮料的清单,(除其他外),我想输入它们的音量.我可以想到几个方面,但(至少在我看来)它们都不是真正理想的:

    要求以相同单位输入所有音量值.

    强制用户自己进行单位转换,这是单调乏味,容易出错并且以后难以验证,因为现在数量输入不同于为饮料列出的原始数量.(饮料来自几个不同的来源,每个来源可能使用不同的度量单位.)

    一系列体积和单位表示值.例:

    volume: [ 0.5, Gallons ]
    

    (映射也会起作用,虽然更详细)序列可能没问题,但我不确定我是否对此感到满意.

    使用两个"音量"值,一个用于值,另一个用于单位.例:

    volume_value: 0.5
    volume_units: Gallons
    

    我认为这不是首发.详细,非常松散的关联,容易出错.

    改为使用字符串,并在应用程序中解析它.例:

    volume: 0.5 Gallons
    

    最简单的输入,并且很容易编写一个健壮的解析器.看起来可能有点像黑客,但......

    应用标签:

    volume: !gallons 0.5
    

    不确定这个,因为我是YAML的新手并且还没有很好地理解标签.或许,语法更脆弱一些.


所以,问题是:根据YAML规范,或事实上的最佳实践/惯例,是否有一种表示价值+单位的特定方式?无论是我列出的五个之一还是别的,我都希望有一个"正确的答案",留在网站问题指南中.

撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有