نتائج البحث
اذهب إلى التنقل
اذهب إلى البحث
الصنف NameError في روبي
يُطلق الاستثناء NameError عندما يكون الاسم المعطى غير صالح أو غير مُعرّف. انظر إلى السطر البرمجي التالي: puts foo
سيُطلق عند تنفيذه الاستثناء التالي: NameError: undefined local variable or method `foo' for main:Object
أسماء الثوابت يجب أن تبدأ بحرف كبير، لذلك فالشيفرة البرمجية التالي: Integer.const_set :answer, 42
ستطلق الاستثناء NameError: NameError: wrong constant name answer
توابع الصنف العامة (Public Class Methods) new ينشئ استثناءً جديدًا من النوع NameError. توابع النسخة العامة (Public Instance Methods) local_variables يعيد قائمة بأسماء المتغيرات المحلية المُعرّفة حيث أُطلٍق ...
التابع NameError.name في روبي
يعيد التابع name الاسم المقترن بالاستثناء NameError الحالي. البنية العامة name → string or nil
القيمة المعادة تعاد سلسلة نصية تمثِّل الاسم المقترن بالاستثناء NameError الحالي. انظر أيضا التابع local_variables: يعيد قائمة بأسماء المتغيرات المحلية المُعرّفة حيث أُطلٍق الخطأ NameError. التابع receiver: يعيد المستقبل (receiver) المقترن بالاستثناء NameError الحالي. مصادر قسم التابع name في الصنف NameError في توثيق روبي الرسمي.
التابع NameError.local_variables في روبي
يعيد التابع local_variables قائمة بأسماء المتغيرات المحلية المُعرّفة حيث أُطلِق الاستثناء NameError. هذا التابع مخصص للإستخدام الداخلي فقط. البنية العامة local_variables → array
القيمة المعادة تعاد مصفوفة تحوي أسماء المتغيرات المحلية المُعرّفة حيث أُطلٍق الاستثناء NameError. انظر أيضا التابع new: ينشئ استثناءً جديدًا من النوع NameError. التابع name: يعيد الاسم المقترن بالاستثناء NameError الحالي. مصادر قسم التابع local_variables في الصنف NameError في توثيق روبي الرسمي.
التابع NameError.new في روبي
ينشئ التابع new استثناءً جديدًا من النوع NameError. في حال تمرير اسم إليه، فيمكن لاحقًا التحقق منه باستخدام التابع name. البنية العامة new([msg, *, name]) → name_error
المعاملات msg رسالة الخطأ. name في حال تمرير هذا الاسم، فيمكن لاحقًا التحقق منه باستخدام التابع name. القيمة المعادة يعاد كائنٌ جديدٌ من النوع NameError. انظر أيضا التابع name: يعيد الاسم المقترن بالاستثناء NameError الحالي. التابع local_variables: يعيد قائمة بأسماء المتغيرات المحلية المُعرّفة حيث أُطلِق الاستثناء NameError. مصادر قسم التابع new في الصنف NameError في ...
التابع NameError.receiver في روبي
يعيد التابع receiver المستقبل (receiver) المقترن بالاستثناء NameError الحالي. البنية العامة receiver → object
القيمة المعادة يعاد المستقبل (receiver) المقترن بالاستثناء NameError الحالي. انظر أيضا التابع name: يعيد الاسم المقترن بالاستثناء NameError الحالي. مصادر قسم التابع receiver في الصنف NameError في توثيق روبي الرسمي.
التابع Module.const_get في روبي
يتحقق التابع const_get من وجود ثابت باسم محدد في الوحدة التي استُدعي معها. في حال تعيين المعامل inherit، فسيشمل البحث الأسلاف أيضًا (وكذلك Object إن كانت الوحدة من النوع Module). تُعاد قيمة الثابت إذا عُثر على تعريف له؛ خلا ذلك، سيُطلق الخطأ NameError. Math.const_get(:PI) #=> 3.14159265358979
سيبحث التابع const_get بشكل تكراري (recursively) عن أسماء الثوابت إذا تم توفير اسم صنف من مجال أسماء (namespaced class name). اطلع مثلًا على المثال التالي: module Foo; class Bar; end end
Object.const_get 'Foo::Bar'
تؤخذ الراية inherit بالحسبان ...
معالجة الاستثناءات في روبي
يتمّ التعامل مع الاستثناءات بعد الكلمة rescue في الكتلة begin/end: begin
# الشيفرة التي قد تسبب ظهور استثناء برمجي
rescue
# معالجة الاستثناء
end
إذا كنت ضمن تابع، فلست بحاجة لاستخدام begin و end إلا إذا كنت ترغب بحدّ النّطاق الخاص بالاستثناء الذي ترغب بمعالجته: def my_method
# ...
rescue
# ...
end
نفس الأمر يطبّق في الأصناف (classes) والوحدات (modules). يمكنك إسناد استثناء إلى متغيّر محليّ باستخدام الرمز => متبوعًا باسم المتغيّر، وذلك في نهاية السطر الخاص بالكلمة rescue: begin
# ...
rescue => exception
warn exception.message
raise # كرر ظهور ...
التابع Module.const_set في روبي
يضبط التابع const_set قيمة ثابت محدَّد إلى قيمة الكائن المعطى ثم يعيد ذلك الكائن. في حال لم يكن هناك ثابت يحمل الاسم المعطى، فسيُنشئ ثابت جديد ويسند إلى تلك القيمة. البنية العامة const_set(sym, obj) → obj
const_set(str, obj) → obj
المعاملات sym رمز يمثل الثابت. إذا لم يكن المعامل sym اسم ثابت صالح، فسيُطلق الخطأ NameError مع التحذير "wrong constant name". obj الكائن المراد ضبط قيمته إلى الثابت. str سلسلة نصية تمثل الثابتة. إذا لم يكن المعامل str اسم ثابت صالح، فسيُطلق ...
التابع Object.method في روبي
يبحث التابع method عن تابعٍ باسمٍ محدَّد في الكائن المعطى بوصفه مستقبلًا (receiver)، ثمَّ يعيد كائنًا من النوع Method لذلك التابع (أو يرمي الاستثناء NameError). يتصرَّف الكائن Method كتعبيرٍ مغلق (closure) في نسخ الكائن الخاصة بالكائن الذي يبحث فيه؛ لذلك، تبقى متغيِّرات النسخة (instance variables) وقيمة self متاحةً. البنية العامة method(sym) → method
المعاملات sym رمزٌ يشير إلى اسم التابع المراد البحث عنه. القيم المعادة يُعاد كائنًا من النوع Method يمثِّل التابع الموافق للاسم sym الموجود في الكائن المعطى، أو ...
التابع Module.const_defined? في روبي
يتحقق التابع const_defined? مما إذا كانت الوحدة التي استُدعي معها أو أحد أسلافها (ancestors) تحوي الثابت المعطى. Float.const_defined?(:EPSILON) #=> true, found in Float itself
Float.const_defined?("String") #=> true, found in Object (ancestor)
BasicObject.const_defined?(:Hash) #=> false
إذا كانت الوحدة من النوع Module، فسيتم إضافة إلى ذلك فحص Object وكذلك أسلافه. Math.const_defined?(:String) #=> true, found in Object
في كل الأصناف أو الوحدات المفحوصة، إذا لم يكن الثابت موجودًا وكان التحميل التلقائي (autoload) مفعلًا له، ...