ali_agha نشر 6 نوفمبر 2015 أرسل تقرير نشر 6 نوفمبر 2015 أريد كتابة شيفرة برمجية للمقارنة بين سلاسل نصية موجود فيها إصدارات ومن ثم إرجاع الإصدار الأحدث بينها، السلاسل النصية بها معلومات كالتالية:'0.1', '0.2.1', '0.44' اقتباس
0 هشام رزق الله نشر 6 نوفمبر 2015 أرسل تقرير نشر 6 نوفمبر 2015 هنالك عدة طرق للمقارنة بين الإصدارات في روبي فيمكنك على سبيل المثال استخدام هذا كشرط للمقارنة ومعرفة الإصدار الأكبر بين الإصدارين:Gem::Version.new('0.4.1') > Gem::Version.new('0.10.1') وهنالك طريقة ثانية عن طريق استخدام Gem::Dependency مع تابع match?() وnew حيث نمرر رقم الإصدار الأول في new وأما الإصدار الثاني فسنمرره إلى تابع match?() للمقارنة بين هذين الإصدارين كما في المثال التالي:Gem::Dependency.new('', '~> 1.4.5').match?('', '1.4.6beta4') أو يمكنك إنشاء صنف جديد للمقارنة بين الإصدارات كما يظهر في المثال التالي:class Version < Array def initialize s super(s.split('.').map { |e| e.to_i }) end def < x (self <=> x) < 0 end def > x (self <=> x) > 0 end def == x (self <=> x) == 0 end end p [Version.new('1.2') < Version.new('1.2.1')] p [Version.new('1.2') < Version.new('1.10.1')] المصدر اقتباس
السؤال
ali_agha
أريد كتابة شيفرة برمجية للمقارنة بين سلاسل نصية موجود فيها إصدارات ومن ثم إرجاع الإصدار الأحدث بينها، السلاسل النصية بها معلومات كالتالية:
1 جواب على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.