2013-10-02 4 views
1

Я написал небольшую программу в Lua 4. В выходных данных она производит у меня есть номер версии программы хранится в виде строки следующим образом:Как проверить номер версии?

AppVersion = "1.6.2" 

Как разобрать эту строку, чтобы проверить, является ли записанной версии число равно или меньше текущего номера версии программы?

+0

Если строки версии содержат только одноразрядные поля, как в примере, обычное сравнение строк работает просто отлично: 'AppVersion <= записанноеVersion'. – lhf

ответ

2

Вы можете использовать этот код:

AppVersion = "1.6.2" 
recordedVersion = "1.7.2" 

_, _, v1, v2, v3 = strfind(AppVersion, "(%d+)%.(%d+)%.(%d+)") 
_, _, r1, r2, r3 = strfind(recordedVersion, "(%d+)%.(%d+)%.(%d+)") 

(Соответствующий раздел руководства является here).

Затем вы можете преобразовать три компонента каждой версии в числа и сравнить их.

Смежные вопросы