Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
String 将字符串版本信息转换为整数以便于比较_String_Lua_Integer_Version - Fatal编程技术网

String 将字符串版本信息转换为整数以便于比较

String 将字符串版本信息转换为整数以便于比较,string,lua,integer,version,String,Lua,Integer,Version,我正在设计一个程序,运行用Lua编写的最终用户脚本。程序定义了一个接口,告诉有多少参数被传递到哪个函数,它们的顺序等等。在将来的某个时候,接口可能会更改,因此我希望将宿主程序的版本信息传递给脚本。我的常见做法是使用MAJOR.MINOR.PATCH格式 目标是尽可能保持表示的简单,以便使用算术运算处理信息,如下所示: if program.version < SCRIPT_SUPPORTS_VERSION then error ("This version is not suppo

我正在设计一个程序,运行用Lua编写的最终用户脚本。程序定义了一个接口,告诉有多少参数被传递到哪个函数,它们的顺序等等。在将来的某个时候,接口可能会更改,因此我希望将宿主程序的版本信息传递给脚本。我的常见做法是使用MAJOR.MINOR.PATCH格式

目标是尽可能保持表示的简单,以便使用算术运算处理信息,如下所示:

if program.version < SCRIPT_SUPPORTS_VERSION then
    error ("This version is not supported, please upgrade...")
end
正如我之前提到的,这是我在思考这个问题时想到的第一件事,它似乎起了作用。另一方面,十六进制数字对一些人来说可能很可怕


我想知道您的意见,请提出其他解决方案。

为什么是十六进制?小数也足够好:
1020003
为什么不是表格<代码>{major=1,minor=3,patch=2}还有一些库处理这类事情,例如,或者。为什么是十六进制?小数也足够好:
1020003
为什么不是表格<代码>{major=1,minor=3,patch=2}还有一些库处理这类事情,例如or。
-- Version 1.3.2
-- Compatible with versions >=1.2.0
--
local program = {}
program.version = 0x010302
local SCRIPT_SUPPORTS_VERSION = 0x010200