이전 게시물 이었지만, 나는 이걸 내려 놓으려고 노력해 왔고, 내가 일하는 양식을 나에게 나누어 줄 것이라고 생각했습니다. String 클래스의 확장자를 가진 ruby 스크립트를 사용하고 있습니다.
class String
def explode
self.split(/-|_|\./).collect {|i| if i == "0" || i.to_i > 0; then i = i.to_i; end; i}
end
end
이 번호의 그룹 (아닌 문자열로 방치 이하) 정렬 가능한 수치로 변환되는 배열로 지정된 문자열 나누기.
예
:
ruby -r./string_ext.rb -e ' puts %Q{package-0.1-SNAPSHOT201212031}.explode.inspect'
#=> ["package", 0, 1, "SNAPSHOT201212031"]
ruby -r./string_ext.rb -e ' puts %Q{package-0.2-SNAPSHOT201212031}.explode.inspect'
#=> ["package", 0, 2, "SNAPSHOT201212031"]
# the comparison of the resulting arrays is then very straight forward
ruby -r./string_ext.rb -e ' puts %Q{package-0.1-SNAPSHOT201212031}.explode <=> %Q{package-0.2-SNAPSHOT201212030}.explode'
#=> -1
-1 첫 번째 항목이 초 미만인 것을 의미하고, 0들은 동일한 의미하고, 1 번째 항목은 제 미만인 것을 의미한다. (동일한 패키지와 관련된 RPM의 배열 등)과 유사한 항목의 배열에서 최대 값을 수집하는 것이 매우 간단이 방법을 사용
1 <=> 2 #=> -1
2 <=> 2 #=> 0
3 <=> 2 #=> 1
.