如何在Ruby中对版本列表进行排序?我见过关于自然排序的东西,但这是一个超越它的一步.
输入是一堆像这样的字符串:
input = ['10.0.0b12', '10.0.0b3', '10.0.0a2', '9.0.10', '9.0.3']
Run Code Online (Sandbox Code Playgroud)
我几乎可以用天然宝石做到这一点:
require 'naturally'
Naturally.sort(input)
=> ["9.0.3", "9.0.10", "10.0.0a2", "10.0.0b12", "10.0.0b3"]
Run Code Online (Sandbox Code Playgroud)
问题:10.0.0b3在10.0.0b12之后排序; 10.0.0b3应该是第一个.
有人有办法吗?其他语言也很有帮助!
有没有办法在postgres中比较软件版本(例如XYZ> ABC)?我正在搜索string/varchar或"version"类型的函数.
我发现了http://pgxn.org/dist/semver/doc/semver.html,但我正在寻找替代方案(不是那么容易部署..)
非常感谢.
我有一个名为的表有一个名为widgets的字符串列version.
版本数据采用句点分隔的字符串格式,类似于语义版本控制.例如"1.2.4"
当我做传统的ORDER BY widgets.version时候,我得到以下顺序
+--------------+
| Widgets |
+----+---------+
| id | version |
|----|---------|
| 1 | 1.3.2 | <- This is fine
| 3 | 10.1.2 | <- This should be last, since 10 > 4
| 2 | 4.5.7 | <- This should be second, since 4 < 10
+----+---------+
Run Code Online (Sandbox Code Playgroud)
如何更新我的查询,以便返回的订单是版本pt 1,版本pt 2,然后是版本pt 3?
我是电源外壳的新手.我正在尝试对名称中间有版本号的文件列表进行排序.
这是文件列表:
sample-file-1.1.0-patch.zip
sample-file-1.1.1-patch.zip
sample-file-1.1.2-patch.zip
sample-file-1.1.2.1-fix-patch.zip
sample-file-1.1.3-patch.zip
sample-file-1.1.3.1-fix-patch.zip
..
sample-file-1.1.15-patch.zip
sample-file-1.1.15.1-fix-patch.zip
sample-file-1.1.15.2-fix-patch.zip
..
sample-file-2.0.0-patch.zip
sample-file-2.0.1-patch.zip
..
Run Code Online (Sandbox Code Playgroud)
我会请你帮我分类逻辑.
谢谢
sorting powershell powershell-2.0 powershell-3.0 version-sort
version-sort ×4
postgresql ×2
sorting ×2
natural-sort ×1
plpgsql ×1
powershell ×1
ruby ×1
sql ×1
version ×1