rIslamic - الخلاصات - الارشيف -مفضلتي - راسلني 

>> تمييز الاعداد بالجافاسكربت...



هل مررت يوما بموقع يعرض لك رسالة غبية مثل “7 طلب في سلة مشترياتك” أو “20 تدوينات جديدة اليوم” !!!!!!!

أحيانا من السهل على المبرمج القيام بخطوة واحد زيادة ليخرج العمل بصورة أكثر احترام ألف مرة … عموما هذه دالة بالجافاسكربت لعمل تمييزات الأعداد …



        function tameez(singular, twin, plural){

            return function(x){

                modx = x%100;

                if(x  1){
                    return singular;
                }else if(x  2){
                    return twin;

                }else if(modx >= 3 && modx <= 9 ){
                    return plural;
                }else{
                    return singular;
                }

            }

        }
 
و لاستخدامها كل ماعليك هو طلبها بالشكل التالي :


/* بسبب مشاكل التفاف النص تبدو قائمة المدخلات في السطر التالي معكوسة ...

لكن عموما الترتيب الصحيح هو المفرد ثم المثنى ثم الجمع  ... */

jimal = tameez('جمل','جملين','جمال'); 

//
 

ثم استخدام هذه الدالة في أي مكان تحتاج فيه الى تمييز أعداد (من الجمال في هذا المثال) و بامكانك تعريف اكثر من دالة حسب الأشياء التي يتعامل معها برنامجك …

الحقيقة ان لا اعرف كيف تميز عددا مثل 901 او 202 … لذلك الكود يعطي صيغة الفردي الان (اذا كنت خبيرا باللغة فأنجدنا) :-(

لاحظ هنا كيف تتذكر الدالة قيم singular , twin, و plural في كل مرة تدعى فيها … و هذا ما يعرف بال closures في الجافاسكربت ….

هنا مثال على استخدام هذه الدالة …. تمييز الاعداد بالجافاسكربت…




مرحبا دالة جميلة وان كنت أعتقد أنها ليست كاملة :) مثلا لو كان الرقم 105 والتمييز سيارة ستكون الجملة “105 سيارة” والمفترض باعتقادي “105 سيارات” أما لو كانت “123 سيارة” فهي صحيحة :) عموما أتكلم من من ذاكرتي ولست متأكدا جدا فما أذكره هو من سليقتي وبقايا ثالث ثانوي :)


اترك تعليقا....




--- بامكانك استخدام [ Textile ]





Imagine what you desire. Will what you imagine. Create what you will.(George Bernard Shaw) : Love what you create (me)