الفرق بين المراجعتين لصفحة: «Ruby/Object/freeze»
جميل-بيلوني (نقاش | مساهمات) ط ←أمثلة |
جميل-بيلوني (نقاش | مساهمات) طلا ملخص تعديل |
||
سطر 1: | سطر 1: | ||
{{DISPLAYTITLE:التابع <code>Object.freeze</code> في روبي}} | {{DISPLAYTITLE:التابع <code>Object.freeze</code> في روبي}} | ||
يمنع التابع <code>freeze</code> إجراء تعديلاتٍ إضافيةٍ على الكائن الذي استدعي معه. سيُرمَى الخطأ <code>RuntimeError</code> عند محاولة إجراء أي تعديلٍ مع هذا الكائن بعد استدعاء التابع <code>freeze</code> معه. ليس هناك أيُّ طريقةٍ لتحرير الكائن من حالة التجميد (frozen) بعد تطبيقها. | يمنع التابع <code>freeze</code> إجراء تعديلاتٍ إضافيةٍ على الكائن الذي استدعي معه. سيُرمَى الخطأ <code>RuntimeError</code> عند محاولة إجراء أي تعديلٍ مع هذا الكائن بعد استدعاء التابع <code>freeze</code> معه. ليس هناك أيُّ طريقةٍ لتحرير الكائن من حالة التجميد (frozen) بعد تطبيقها. | ||
المراجعة الحالية بتاريخ 07:17، 30 مارس 2019
يمنع التابع freeze
إجراء تعديلاتٍ إضافيةٍ على الكائن الذي استدعي معه. سيُرمَى الخطأ RuntimeError
عند محاولة إجراء أي تعديلٍ مع هذا الكائن بعد استدعاء التابع freeze
معه. ليس هناك أيُّ طريقةٍ لتحرير الكائن من حالة التجميد (frozen) بعد تطبيقها.
انتبه إلى أن الأصناف التالية تكون في حالة تجميد دائمة وهي: Integer
، و Float
، و Symbol
.
البنية العامة
freeze → obj
القيم المعادة
يُعاد الكائن المعطى نفسه بعد تجميده.
أمثلة
مثالٌ عن استخدام التابع freeze
:
a = [ "a", "b", "c" ]
a.freeze
a << "z"
يعطي هذا المثال عند تطبيقه الناتج التالي:
prog.rb:3:in `<<': can't modify frozen Array (FrozenError)
from prog.rb:3
انظر أيضًا
- التابع
?frozen
: يتحقَّق إن كان الكائن في حالة تجميد أم لا.
- التابع
taint
: يصم الكائن الذي استدعي معه بأنه كائنٌ فاسد. - التابع
?tainted
: يتحقَّق إذا كان التابع فاسدًا.