【发布时间】:2015-09-08 23:33:46
【问题描述】:
我有一个配置脚本,用户可以在其中输入绝对值或百分比值。
绝对值写为 0.0 到 1.0 之间的值,而百分比值写为 0 到 100。
如何区分 1 和 1.0? 如果我要使用字符串,那肯定不是问题...... 我想保持这个配置简单,不必依赖字符串。
这可能吗?
回顾:
a = 1
b = 1.0
如何判断a 与b 的类型不同。
编辑 配置文件如下所示:
local config = {}
-- A lot of comments describing how to configure
config.paramA = 1
config.paramB = 1.0
return config
在我的处理脚本中,我读取了这样的配置:
config = require 'MyConfigFile'
config.paramA
config.paramB
【问题讨论】:
-
你是如何阅读文件的?您可以在转换为正常使用的数字之前使用字符串值吗?然后以某种方式“标记”该值?
-
@jean 不,这不是从 C/C++ 访问的用户数据,我需要在 Lua 脚本中对数字 Lua 类型执行此操作。
-
如果用户想写一个百分比值,其中有小数点,比如 12.5?您是否考虑过只允许绝对值或只允许百分比?您说您的目标是简单,恕我直言,1 和 1.0 意味着不同的事物非常令人困惑。
-
如果它是一个字符串,这根本不是问题,我只是想知道是否可以不使用字符串。正如@Youka 提到的,在 Lua 5.3 中是可能的。
标签: types lua integer double lua-5.2