نتائج البحث

اذهب إلى التنقل اذهب إلى البحث

الصنف NoMethodError في روبي

يُطلق الاستثناء NoMethodError عند استدعاء تابعٍ مع مستقبِل (receiver) غير مُعرَّف فيه مع فشل الاستجابة للتابع method_missing. "hello".to_ary سيُطلق الاستثناء NoMethodError عند تنيفذ الشيفرة السابقة بالشكل: NoMethodError: undefined method `to_ary' for "hello":String توابع الصنف العامة (Public Class Methods) new ينشئ استثناءً من النوع NoMethodError للتابع ذي الاسم المعطى مع الوسائط المُمرَّرة. توابع النسخة العامة (Public Instance Methods) args يعيد الوسائط التي تم تمريرها كمعامل ثالث إلى الباني new. ?private_call مصادر قسم الصنف NoMethodErrorفي توثيق روبي الرسمي.

التابع NoMethodError.args‎ في روبي

يعيد التابع args الوسائط التي تم تمريرها كمعامل ثالث إلى الباني new. البنية العامة args → obj‎ القيمة المعادة تعاد الوسائط التي تم تمريرها كمعامل ثالث إلى الباني new عند إنشاء الاستثناء NoMethodError. انظر أيضا التابع new: ينشئ استثناءً من النوع NoMethodError للتابع ذي الاسم المعطى مع الوسائط الممررة. مصادر قسم التابع args‎ في الصنف NoMethodError‎ في توثيق روبي الرسمي.

التابع NoMethodError.new‎ في روبي

ينشئ التابع new استثناءً من النوع NoMethodError للتابع ذي الاسم المعطى مع الوسائط المُمرَّرة. يمكن الدخول إلى الاسم باستخدام التابع ‎#name مع الكائن الناتج، ويمكن الوصول إلى الوسائط باستخدام التابع ‎#args. البنية العامة new([msg, *, name [, args]]) → no_method_error‎ المعاملات msg‎ رسالة الاستثناء. name‎ اسم التابع. args‎ وسائط التابع. القيمة المعادة يعاد استثناءٌ من النوع NoMethodError للتابع ذي الاسم name المعطى مع الوسائط args‎ والرسالة msg‎ المُمرَّرة. انظر أيضا التابع args: يعيد الوسائط التي تم تمريرها كمعامل ثالث إلى الباني. ...

التابع Object.public_send في روبي

يَستدعي التابع public_send التابع المعرَّف برمزٍ (symbol) محدَّدٍ ويُنفَّذه تلقائيًا مع تمرير أي معاملاتٍ معطاة. خلافًا للتابع send، يَستدعي التابع public_send التوابع العامة فقط. إن عُرِّف التابع باستخدام سلسلةٍ نصيةٍ (string)، فستُحوَّل هذه السلسلة إلى رمز. البنية العامة public_send(symbol [, args...]) → obj public_send(string [, args...]) → obj المعاملات symbol الرَّمز المُعرِّف للتابع المراد استدعاءه. string سلسلة نصية تعرِّف التابع المراد استدعاءه.  ستُحوَّل هذه السلسلة إلى رمز إن أعطيت. ...args المعاملات المراد تمريرها إلى التابع الذي يراد استداعاؤه. القيم المعادة يُعاد ...

التابع Module.undef_method‎ في روبي

يمنع التابع undef_method الصنف الحالي من الاستجابة للاستدعاءات الموجهة إلى التابع المعطى. سلوك هذا التابع مخالف لسلوك التابع remove_method الذي يحذف التابع من الصنف المعين؛ ستبحث روبي في الأصناف العليا (superclasses) وفي الوحدات المختلطة (mixed-in modules) عن مُستقبِل (receiver) محتمل. البنية العامة undef_method(symbol) → self undef_method(string) → self‎ المعاملات symbol‎ رمز يمثل التابع. string‎ سلسلة نصية تمثل التابع. يحول هذا المعامل إن أعطي إلى رمز. القيمة المعادة يعاد الكائن المعطى نفسه. أمثلة مثال على استخدام التابع undef_method‎: class Parent def hello ...

التابع Object.dup في روبي

ينتج التابع dup نسخةً سطحية (shallow copy) من الكائن. تُنسَخ متغيرات النسخة (instance variables) من الكائن، ولكن لا تُنسَخ الكائنات التي تشير إليها (referenced objects). يَنسخ التابع dup الحالة التالفة (tainted state) من الكائن. قد يملك هذا التابع سلوكًا محدَّدًا بالصنف (class-specific behavior)، إذا كان كذلك، سيُوثَّق هذا السلوك تحت التابع ‎.initialize_copy من الصنف نفسه. ما هو الفرق بين التابع clone والتابع dup؟ عمومًا، قد يمتلك التابعين clone و dup دلالاتٍ مختلفةٍ في الأصناف السليلة (descendant classes). لمَّا كان التابع ...

الوحدات والأصناف في روبي

الوحدات تخدم الوحدات (Modules) غايتين اثنتين في لغة روبي وهما: ميّزة نطاقات الأسماء (namespace)، والخلط الضمني (mix-in) التي سنوضّحها لاحقًا. يستخدم نطاق الأسماء لتنظيم الشيفرة البرمجية ضمن مجموعات مستقلّة تمنع تداخل التوابع والمتغيّرات ذات الأسماء المتشابهة فيما بينها. فعلى سبيل المثال، نطاق الأسماء IRB يوفّر عمليات irb والتي تمنع التصادم مع الاسم الشائع "Context". وظيفة الخلط الضمني (Mix-in) تسمح بمشاركة توابع مشتركة عبر عدد من الأصناف أو الوحدات، إذ يأتي مع لغة روبي على سبيل المثال الوحدة Enumerable التي توفّر ...

التحسينات في روبي

إن ميّزة الأصناف المفتوحة في لغة روبي تسمح لك بإعادة تعريف أو إضافة وظائف إلى أصناف معرّفة مسبقًا. وهذا ما يسمى بمصطلح "ترقيع القرد" (monkey patch). المشكلة هنا أنَّ تعديلات من هذا النوع تكون مرئيّة على المستوى العام (global)، وبالتالي جميع مستخدمي الصنف المرقّع قادرون على رؤية هذه التغييرات، ممّا قد يسبّب تأثيرات جانبيّة غير محسوبة أو حتى عطب في البرامج. تأتي التحسينات هنا لتقلّل أثر ترقيع القرد على مستخدمي الصنف الآخرين، إذ تقدّم طريقة لتوسيع الصنف محليًّا. وإليك مثال ...

الصنف Exception في روبي

تُستخدَم الكائنات السليلة من الصنف Exception للتواصل بين التّابع Kernel.raise وتصريحات rescue في الكتل (blocks) من الشكل begin...end. تَحمل كائنات الصنف Exception معلوماتٍ عن الاستثناء المَرمي مثل نوعه (اسم صنف الاستثناء)، وسلسلةً نصيّةً وصفيّةً اختياريّة، ومعلوماتِ تتبّعٍ اختيارية. قد تضيف الأصناف الفرعية من الصنف Exception معلوماتٍ إضافيّةٍ مثل NameError.name. قد تُنشِئ البرامج أصنافًا فرعيّةً (subclasses) من الصنف Exception، تكون عادةً StandardError أو RuntimeError، لتوفير أصنافٍ مخصصّةٍ وإضافة معلوماتٍ إضافية. ألقِ نظرةً على قائمة الأصناف الفرعية في الأسفل من أجل قيم ...

أساسيات إنشاء الإضافات في ريلز

تُعدّ الإضافات في ريلز امتدادًا أو تعديلًا للإطار الأساسي. توفر الإضافات: وسيلة لمطورين لمشاركة الأفكار المتطورة دون الإضرار بقاعدة الشيفرات الثابتة. بنية مجزأة بحيث يمكن إصلاح أو تحديث وحدات الشيفرة وفقًا لجدول إصدارها الخاص. منفذ للمطورين الأساسيين حتى لا يضطروا إلى تضمين كل ميزة جديدة بصريح العبارة. بعد قراءة هذا الدليل، ستتعلم: كيفية إنشاء الإضافات من الصفر. كيفية كتابة وتشغيل الإختبارات للإضافات. يصف هذا الدليل كيفية إنشاء واختبار إضافة من شأنها: توسيع أصناف روبي الأساسية مثل Hash و String. إضافة ...

عرض (20 السابقة | 20 التالية) (20 | 50 | 100 | 250 | 500).