المبرمج العربي نشر 22 ديسمبر 2015 أرسل تقرير نشر 22 ديسمبر 2015 هل يوجد تابع أو طريقة معينة لجمع الأسماء في لغة روبي أو حتى في ريلز؟ أي لو كان العدد 0 أو 1 سيكون الاسم مفردا أما لو كان أكثر من ذلك فسيكون الاسم جمعا كما في المثال التالي:found 1 match found 2 matches اقتباس
0 هشام رزق الله نشر 22 ديسمبر 2015 أرسل تقرير نشر 22 ديسمبر 2015 هنالك طرق عديدة في لغة روبي لجمع الأسماء حسب العدد، لكن أغلب هذه الطرق وأسهلها موجودة في ريلز، فمثلا يمكنك استدعاء وحدة 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 اقتباس
السؤال
المبرمج العربي
هل يوجد تابع أو طريقة معينة لجمع الأسماء في لغة روبي أو حتى في ريلز؟ أي لو كان العدد 0 أو 1 سيكون الاسم مفردا أما لو كان أكثر من ذلك فسيكون الاسم جمعا كما في المثال التالي:
1 جواب على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.