اذهب إلى المحتوى

السؤال

Recommended Posts

  • 0
نشر

هنالك عدة طرق للمقارنة بين الإصدارات في روبي فيمكنك على سبيل المثال استخدام هذا كشرط للمقارنة ومعرفة الإصدار الأكبر بين الإصدارين:

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')]

المصدر

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...