« Text Munger (ou nem tudo é como deveria ser)Shell Script engraçadinho e (quase) inútil »

Comparação de versões

25/06/2008

Para um software, dizer que a versão 0.2 é maior que a 0.1 é moleza, mas como dizer que a versão 0.2.2 é maior que a 0.2?

Esse é um tipo de comparação que pode ser necessário feita. Talvez você tenha alguma parte do seu código que tenha uma implementação diferente e melhor para acima da versão x. O b2evolution usa isso, por exemplo, para habilitar o modo TRADITIONAL no Mysql quando o debug está ativado apenas a partir do MySQL 5.0.2. E usa também para habililtar alguns espertezas disponíveis apenas no PHP 5.1.

Em Python, a comparação pode ser feita usando o pkg_resources:

>>> from pkg_resources import parse_version
>>>
>>> parse_version("0.10") > parse_version("0.9")
True

>>> True
True
>>> parse_version("0.2.2") > parse_version("0.2")
True

>>> parse_version("0.1.2") > parse_version("0.2")
False

>>> parse_version("0.2.2") > parse_version("0.2")
True
>>>

Em PHP, usa-se a função version_compare

(Dica do pkg_resources retirada de http://lucumr.pocoo.org/cogitations/2008/06/19/%E2%80%A6-and-010-follows-09/)


Email por Walter Cruz em PHP, Python, Geek life
Tags: , ,

Endereço de trackback para este post

Trackback URL (clique direito e copie atalho/localização do link)

Sem feedback para esse post ainda

Deixe seu comentário


Seu endereço de e-mail não será revelado nesse site.

Sua URL será exibida.
PobreExcelente
(Quebras de linha se tornam <br />)
(Nome, e-mail & website)
(Permitir que usuários o contatem através de um formulário eletrônico (seu e-mail não será exibido.))
Subscribe to comments by email

You can just use your OpenID to provide your name, e-mail and url.