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

السؤال

Recommended Posts

  • 0
نشر

هنالك طرق عديدة في لغة روبي لجمع الأسماء حسب العدد، لكن أغلب هذه الطرق وأسهلها موجودة في ريلز، فمثلا يمكنك استدعاء وحدة active_support/inflector في ريلز ومن ثم يمكنك جمع أي اسم عن طريق استخدام تابع pluralize كما في المثال التالي:

require 'active_support/inflector'
"MyString".pluralize

وسيكون الناتج:

"MyStrings"

كما يمكنك إنشاء دالة بسيطة لجمع الأسماء بإضافة حرف s في نهايتها إذا كان العدد أكبر من 1 كما في المثال التالي والذي استخدمنا فيه الجمل الشرطية:

def x(n, singular, plural=nil)
    if n == 1
        "1 #{singular}"
    elsif plural
        "#{n} #{plural}"
    else
        "#{n} #{singular}s"
    end
end

وهذا مثال بسيط على استخدام الدالة:

puts x(0, 'tree') # 0 trees
puts x(1, 'tree') # 1 tree
puts x(2, 'tree') # 2 trees

puts x(0, 'match', 'matches') # 0 matches
puts x(1, 'match', 'matches') # 1 match
puts x(2, 'match', 'matches') # 2 matches

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

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

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

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   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.

  • إعلانات

  • تابعنا على



×
×
  • أضف...