نتائج البحث

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

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

يجعل التابع private_class_method توابع صنفٍ محدَّدٍ خاصة (private). غالبًا ما يستخدم هذا التابع لإخفاء الباني new الافتراضي. البنية العامة private_class_method(symbol, ...)→ mod private_class_method(string, ...)→ mod‎ المعاملات symbol‎ رمز يمثل التابع. string‎ سلسلة نصية تمثل التابع. يحول هذا المعامل إن أعطي إلى رمز. القيمة المعادة تعاد وحدة. أمثلة مثال على استخدام التابع private_class_method‎: class SimpleSingleton # Not thread safe private_class_method :new def SimpleSingleton.create(*args, &block) @me = new(*args, &block) if ! @me @me end end‎ ...

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

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

تبديل المعاملات باستدعاءات التوابع (Replace Parameter with Method Call)

المشكلة استدعاء تابع استعلام (query method) وتمرير نتائجه كمعاملات لتابع آخر، في حين أنه يمكن لهذا التابع استدعاء الاستعلام مباشرة. الحل بدلًا من تمرير القيمة من خلال المعامل، حاول وضع استدعاء الاستعلام داخل متن التابع. مثال قبل إعادة التصميم تخزين القيمة التي يعيدها كلٌّ من التابعين ()getSeasonalDiscount و ()getFees في متغير ثم تمريرها إلى التابع ()discountedPrice: في لغة Java: int basePrice = quantity * itemPrice; double seasonDiscount = this.getSeasonalDiscount(); double fees = this.getFees(); double finalPrice = discountedPrice(basePrice, seasonDiscount, fees); في لغة C#‎: int basePrice ...

التابع Continuation.call في روبي

يستدعي التابع call العملية continuation. يستمر البرنامج من نهاية كتلة callcc. إذا لم تعطَ أي وسائط إلى التابع، فستعيد الكتلة callcc الأصلية القيمة nil. إما إذا أُعطي وسيطٌ واحدٌ، فستعيد callcc ذلك الوسيط. خلا ذلك، ستُعاد مصفوفة تحتوي على الوسائط الممرّرة. البنية العامة call[args, ...] أمثلة أمثلة عن استخدام معامل التابع ‎call: callcc {|cont| cont.call } #=> nil callcc {|cont| cont.call 1 } ...

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

كائنات الصنف Proc هي كتلٌ من الشيفرات البرمجية رُبطت إلى مجموعة من المتغيرات المحليَّة. حالما تُربط، يمكن استدعاء الشيفرة في سياقات مختلفة ويبقى الوصول متاحًا لتلك المتغيرات. def gen_times(factor) return Proc.new {|n| n*factor } end times3 = gen_times(3) times5 = gen_times(5) times3.call(12) #=> 36 times5.call(5) #=> 25 times3.call(times5.call(4)) #=> 60 توابع الصنف العامة (Public ...

التابع ?Proc.lambda في روبي

يتحقَّق التابع ?lambda إذا كانت معالجة الوسائط صارمةً في الكائن Proc (أي يجب تمرير نفس العدد تمامًا من الوسائط المعرَّفة عند إنشاء الكائن). تُنشأ هذه الكائنات عادةً بوساطة lambda. كائنات الصنف Proc المُنشأة بوساطة proc ليست صارمةً وتمتلك الميزات التالية: تتجاهل الوسائط الإضافيَّة: proc {|a,b| [a,b] }.call(1,2,3)    #=> [1,2] تُعيِّن القيمة nil للوسائط الناقصة: proc {|a,b| [a,b] }.call(1)        #=> [1,nil] توسِّع وسيط مصفوفة مفردة: proc {|a,b| [a,b] }.call([1,2])    #=> [1,2] كائن الصنف Proc المُنشأ بواسطة lambda لا يمتلك هذه الميِّزات. lambda ...

التابع TracePoint.defined_class‎ في روبي

يُعيد التابع defined_class صنف أو وحدة التابع المُستدعى. class C; def foo; end; end trace = TracePoint.new(:call) do |tp| p tp.defined_class #=> C end.enable do C.new.foo end إذا تم تعريف التابع بواسطة وحدة، فستعاد تلك الوحدة. module M; def foo; end; end class C; include M; end; trace = TracePoint.new(:call) do |tp| p tp.defined_class #=> M end.enable do C.new.foo end ملحوظة: يُعيد التابع defined_class صنفًا مفردًا (singleton class). وسيط الكتلة السادس في التابع Kernel.set_trace_func يُمرَّر الصنف الأصليً (original class) للكائن عبر الصنف المفرد. هذا أحد الفوارق ...

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

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

التابع Method.curry‎ في روبي

يعيد curry كائن proc مُجزّء (curried proc) انطلاقًا من التابع الذي استُدعي معه. عندما يكون عدد الوسائط الممررة إلى الكتلة proc أقل من رتبة (arity) التابع، فستعاد كتلة proc مجزءة أخرى. ولن يُستدعى التابع فعليًا إلا عندما يتم توفير الوسائط الكافية لتوقيع التابع (method signature). يجب توفير الوسيط الاختياري arity إن أردت تجزئة (currying) التوابع التي تقبل عددًا متغيرًا من الوسائط لتحديد عدد الوسائط المطلوبة قبل استدعاء التابع فعليًا. البنية العامة curry → proc curry(arity) → proc‎ المعاملات arity‎ في ...

التابع set_trace_func‎ الخاص بالصنف Kernel في روبي

يجعل التابع set_trace_func المعامل المعطى كمعالج للتعقب، أو يعطل التعقب إن كان الوسيط يساوي nil. ملاحظة: أصبح هذا التابع مهملًا، لذا يُرجى استخدام التابع TracePoint بدلاً منه. يقبل proc ستة معاملات هي: اسم حدث اسم ملف رقم سطر معرف كائن (object id) كائن ربط (binding) اسم صنف يستدعى proc كلما وقع حدث. الأحداث هي: الحدث الوصف c-call استدعاء برنامج فرعي في لغة C. c-return العودة من برنامج فرعي في لغة C. call استدعاء تابع من توابع روبي. class بدء تعريف ...

التابع Proc.call في روبي

يستدعي التابع call الكتلة المرتبطة بالمتغير الذي استعمل معه مُعيِّنًا معاملات الكتلة إلى القيم المعطاة ضمنه باستخدام شيءٍ مشابهٍ لدلالات استدعاء التابع. يُعيد المعامل قيمة آخر تعبيرٍ قُيِّم في الكتلة. a_proc = Proc.new {|scalar, *values| values.map {|value| value*scalar } } a_proc.call(9, 1, 2, 3) #=> [9, 18, 27] a_proc[9, 1, 2, 3] #=> [9, 18, 27] a_proc.(9, 1, 2, 3) #=> [9, 18, 27] a_proc.yield(9, 1, ...

القيمة

نوع البيانات <custom-ident> في CSS يستعمل لتمثيل المُعرِّفات (identifiers) التي أنشأها المستخدم، وهذا النوع حساس لحالة الأحرف، ولا يُسمَح باستخدام بعض القيم في مواضع معيّنة منعًا للالتباس. الشكل العام شكل نوع البيانات <custom-ident> شبيهٌ بمُعرِّفات CSS (مثل أسماء الخاصيات)، عدا أنَّه حساسٌ لحالة الأحرف. يمكن لهذا النوع أن يتألف من محرف أو أكثر، ويمكن أن تكون هذه المحارف: أي حرف هجائي (A إلى Z أو a إلى z) أي رقم (0 إلى 9) شرطة - وشرطة سفلية _ محرف مُهرَّب ...

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

الصنف Module هو مجموعة من التوابع والثوابت. التوابع الموجودة في الوحدات Module قد تكون إما توابع نسخة (instance methods)، أو توابع وحدة (module methods). توابع النسخة تظهر كتوابع في صنفٍ عند تضمين الوحدة، وذلك على خلاف توابع الوحدة. وعلى النقيض، يمكن استدعاء توابع الوحدة دون إنشاء كائن يُغلفها، بينما قد لا يمكن فعل ذلك مع توابع النسخة. انظر صفحة module_function. في الأمثلة الموجودة في صفحات التوابع، يشير المعامل sym إلى رمز، والذي قد يكون إما سلسلة نصية، أو كائنًا من النوع ...

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

تمثّل كائنات الصنف Location إطارات المكدس (stack frames)، وتُنشأ بواسطة التابع Kernel.caller_locations. إليك مثلًا الشيفرة التالية: # caller_locations.rb def a(skip) caller_locations(skip) end def b(skip) a(skip) end def c(skip) b(skip) end c(0..2).map do |call| puts call.to_s end‎ تشغيل الأمر ruby caller_locations.rb سوف ينتج: caller_locations.rb:2:in `a' caller_locations.rb:5:in `b' caller_locations.rb:8:in `c'‎ إليك مثالًا آخر بنتيجة مختلفة بعض الشيء: # foo.rb class Foo attr_accessor :locations def initialize(skip) @locations = caller_locations(skip) end end Foo.new(0..2).locations.map do |call| puts call.to_s end‎ الآن، إن قمت بتنفيذ ruby foo.rb، فيجب أن ترى ...

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

يُعيد التابع new متعقبًا جديدًا غير مفعَّل افتراضيًّا. راجع صفحة الصنف TracePoint للتعرف على الأحداث الممكنة ولمزيد من المعلومات. يجب إعطاء كتلة للتابع، وإلا سيُطلق الاستثناء ArgumentError. البنية العامة new(*events) { |obj| block } → obj‎ المعاملات events‎ أحداث يراد إنشاء تعقب لها. القيمة المعادة يعاد متعقبٌ جديدٌ للأحداث events. أمثلة من أجل تفعيل التعقب بعد إنشائه باستعمال التابع new، يجب عليك استخدام التابع enable: trace = TracePoint.new(:call) do |tp| p [tp.lineno, tp.defined_class, tp.method_id, tp.event] end #=> #<TracePoint:disabled> trace.enable #=> false puts "Hello, ...

قابلية الرؤية في كائنات PHP

يمكن تعريف قابلية رؤية خاصية أو تابع أو (بدءًا من الإصدار 7.1.0 من اللغة) ثابت بأنّها إلحاق صيغة التصريح بإحدى الكلمات المفتاحية public، أو protected، أو private. يتيح التصريح من نوع public الوصول إلى أعضاء الصنف من أي مكان، ويتيح التصريح من نوع protected الوصول إلى الأعضاء من داخل الصنف نفسه أو الأصناف التي ترث الصنف أو تورّثه، أما التصريح من نوع private فيتيح الوصول إلى الأعضاء من داخل الصنف الذي عرِّف فيه ذلك العضو حصرًا. قابلية رؤية الخاصية يجب ...

قابلية الرؤية في كائنات PHP

يمكن تعريف قابلية رؤية خاصية أو تابع أو (بدءًا من الإصدار 7.1.0 من اللغة) ثابت بأنّها إلحاق صيغة التصريح بإحدى الكلمات المفتاحية public، أو protected، أو private. يتيح التصريح من نوع public الوصول إلى أعضاء الصنف من أي مكان، ويتيح التصريح من نوع protected الوصول إلى الأعضاء من داخل الصنف نفسه أو الأصناف التي ترث الصنف أو تورّثه، أما التصريح من نوع private فيتيح الوصول إلى الأعضاء من داخل الصنف الذي عرِّف فيه ذلك العضو حصرًا. قابلية رؤية الخاصية يجب ...

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

يُرمى الاستثناء FiberError عند محاولة إجراء عمليّةٌ غير صحيحةٍ في الصنف Fiber، تحديدًا عند محاولة استدعاء/استئناف ليف ميِّت، أو محاولة التّوليد من الليف الجذر (root fiber)، أو استدعاء ليفٍ عبر خيوطٍ (threads). fiber = Fiber.new{} fiber.resume #=> nil fiber.resume #=> FiberError: dead fiber called مصادر صفحة الصنف FiberError في توثيق روبي الرسمي.

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

يُعيد التابع private_methods قائمةً بالتوابع الخاصة (private methods) التي يمتلك الكائن الذي استدعي معه الوصول إليها. إذا مُرِّرت القيمة false إلى التابع، فستحتوي القائمة توابع الكائن المستقبل (receiver) فقط. البنية العامة private_methods(all=true) → array المعاملات all معامل اختياري يحدِّد التوابع المعادة. يأخذ هذا المعامل القيمة true (افتراضيًا)، أو القيمة false. القيم المعادة تُعاد قائمةٌ بالتوابع الخاصة التي يمتلك الكائن المعطى الوصول إليها إذا لم يعطَ الكائن all، أو ستُعاد قائمة تحتوي توابع الكائن المستقبل (receiver) فقط إذا أعطي المعامل all ...

التابع Thread.fetch في روبي

البنية العامة fetch(*args) المعاملات args انظر أيضًا التابع group: يُعيد مجموعة الخيوط ThreadGroup التي تحتوي على المهمة الفرعية المعطاة، أو يُعيد nil إذا لم تكن المهمة الفرعية عضوًا في أي مجموعة. التابع join: يوقف عند استدعائه تنفيذ المهمة الفرعية المُستدعيَة (calling thread)، وبدء تنفيذ المهمة الفرعية التي استُدعي معها. مصادر قسم التابع fetch في الصنف Thread في توثيق روبي الرسمي.

التابع call‎ الخاص بالصنف Method في روبي

يستدعي call كتلة التابع الذي استٌدعي معه، ويضبط وسائط الكتلة عند القيم المُمرَّرة إليه باستخدام صياغة مشابهة لصياغة استدعاء التوابع ثم يعيد قيمة آخر تعبير تم تقييمه في الكتلة. لاحظ أن ‎prc.()‎ يستدعي prc.call()‎ مع تمرير المعاملات المعطاة. وهي صياغة مختصرة لإخفاء التابع "call". بالنسبة للكائنات procs التي تم إنشاؤها باستخدام lambda أو ‎->()‎‎‎، سيُطلق خطأ إذا كان عدد المعاملات الممررة إلى proc غير صحيح. بالنسبة للكائنات proc التي تم إنشاؤها باستخدام Proc.new أو Kernel.proc ، سيتم تجاهل المعاملات الإضافية ...

التغليف الداخلي للحقول (Self Encapsulate Fields)

ملاحظة قبل البدء: تختلف هذه التقنية عن تقنية تغليف الحقول (Encapsulate Field) من حيث أنّها تُستخدَم لتغليف الحقول الخاصّة (أي المُحدَّدة بالكلمة المفتاحيّة private). المشكلة الوصول المباشر إلى الحقول الخاصّة (private fields) داخل الصنف (class). الحل إنشاء تابعي الوصول getter و setter للحقل الخاصّ ومنع الوصول إليه إلا عبرهما. مثال قبل إعادة التصميم يحتوي الصنف Range على الحقلين low و high من النوع الخاص (private) ونلاحظ الوصول إليهما مباشرةً داخل التابع includes في الشيفرة الآتية: في لغة Java: class Range ...

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

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

التابع TracePoint.trace‎ في روبي

ينشِّط التابع trace التعقب تلقائيًا وهو ملائم للتابع new. البنية العامة trace(*events) { |obj| block } → obj‎ المعاملات events‎ أحداث. أمثلة مثال على استخدام التابع trace‎: trace = TracePoint.trace(:call) { |tp| [tp.lineno, tp.event] } #=> #<TracePoint:enabled> trace.enabled? #=> true‎ انظر أيضًا التابع stat: يُعيد المعلومات الداخلية للمتعقب. التابع binding: يُعيد كائن الربط (generated binding object) الذي تم إنشاؤه من الحدث مصادر قسم التابع trace‎ في الصنف TracePoint‎ في توثيق روبي الرسمي.

استدعاء التوابع في روبي

عندما تستدعي تابعًا، فإنّك تمرّر رسالة لكائن معيّن لأجل تنفيذ مهمّة معيّنة، ويتمّ ذلك في لغة روبي كالتّالي: my_method() لاحظ أنّ استخدام الأقواس المنحنية هنا اختياريّ: my_method المعتمد في هذا التّوثيق أن تُستخدّم الأقواس عند وجود المعامِلات لإزالة الالتباس، إلا في حالة وجود فرق بين وجود الأقواس وحذفها. هذا القسم يغطّي فقط كيفيّة استدعاء التوابع، وستُشرَح كيفيّة تعريف التّوابع في قسم آخر. المستقبِل المستقبِل (Receiver) الافتراضي في لغة روبي هو self وهو الذي يُستخدَم في حال عدم تحديد أيّ مستقبل آخر. ولأجل ...

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

يتحقق التابع method_defined?‎ إن كان التابع المعطى مُعرّفًا في الوحدة أو الصنف (أو في الوحدات المُتضمنة فيه، وإن كان صنفًا في أسلافه). تتم مطابقة التوابع العامة والمحمية. تٌحوّل الوسائط النصية إلى رموز. البنية العامة method_defined?(symbol) → true or false method_defined?(string) → true or false‎ المعاملات symbol‎ رمز يمثل التابع. string‎ سلسلة نصية تمثل التابع. القيمة المعادة تعاد القيمة true إن كان التابع المعطى مُعرّفًا في الوحدة أو الصنف. أمثلة مثال على استخدام التابع method_defined?‎: module A def method1() end ...

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

يُنشئ التابع enum_for نسخةً من الصنف Enumerator الذي يجري عملية عدٍّ (enumerate) وتكرار عبر استدعاء التابع المُمرَّر إليها مع كائنٍ محدَّد، وتمرير وسائط إن أعطيت. إذا مُرِّرت كتلة (block) إلى التابع، فستُستخدم لحساب حجم نسخة الصنف Enumerator دون الحاجة إلى تكرارها (ألقِ نظرة على التابع Enumerator.size). البنية العامة enum_for(method = :each, *args) → enum enum_for(method = :each, *args){|*args| block} → enum المعاملات method التابع المُمرَّر. القيمة الافتراضية لهذا المعامل هي: each:. args* الوسائط المراد تمريرها إلى التابع. args| block*| الكتلة ووسائطها ...

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

يتحقق التابع protected_method_defined?‎ إن كان التابع المحمي (protected) المعطى معرفًا في الوحدة (أو الوحدات المُتضمنة فيه، أو أسلافه إن كان صنفًا). البنية العامة protected_method_defined?(symbol)→ true or false protected_method_defined?(string)→ true or false‎ المعاملات symbol‎ رمز يمثل التابع. string‎ سلسلة نصية تمثل التابع. يحول هذا المعامل إن أعطي إلى رمز. القيمة المعادة تعاد القيمة true إن كان التابع المحمي المعطى معرفًا في الوحدة (أو الوحدات المُتضمنة فيه، أو أسلافه إن كان صنفًا). خلا ذلك، تعاد القيمة false. أمثلة مثال على استخدام التابع protected_method_defined?‎: module ...

تبديل التابع إلى كائن التابع (Replace Method with Method Object)

المشكلة وجود تابعٍ طويلٍ بالكثير من المتغيِّرات المحليّة (local variables) المتداخلة والتي تحول دون تطبيق تقنية الحل باستخراج التابع (extract method). الحل نقل التابع إلى صنفٍ (class) مستقلٍ بحيث تصبح متغيِّراته المحليّة حقولًا (fields) لهذا الصنف، وتقسيم التابع بعد ذلك إلى عدّة توابع أصغر في الصنف ذاته. مثال قبل إعادة التصميم نلاحظ وجود العديد من المتغيِّرات المحليّة في التابع price()‎ بالإضافة إلى عملياتٍ أخرى قد تكون طويلةً ومعقَّدة: في لغة Java: class Order { //... public double price() ...

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

يُنشئ التابع enum_for نسخةً من الصنف Enumerator الذي يجري عملية عدٍّ (enumerate) وتكرار عبر استدعاء التابع المُمرَّر إليها مع كائنٍ محدَّد، وتمرير وسائط إن أعطيت. إذا مُرِّرت كتلة (block) إلى التابع، فستُستخدم لحساب حجم نسخة الصنف Enumerator دون الحاجة إلى تكرارها (ألقِ نظرة على التابع Enumerator.size). البنية العامة enum_for(method = :each, *args) → enum enum_for(method = :each, *args){|*args| block} → enum المعاملات method التابع الذي ستُطبَّق عليه العملية. القيمة الافتراضية لهذا المعامل هي: each:. args* الوسائط المراد تمريرها إلى التابع. args| ...

التابع Thread.group‎ في روبي

يُعيد التابع group مجموعة الخيوط ThreadGroup التي تحتوي على المهمة الفرعية المعطاة، أو يُعيد nil إذا لم تكن المهمة الفرعية عضوًا في أي مجموعة. البنية العامة group→ thgrp or nil‎ القيمة المعادة يعاد كائنٌ من النوع ThreadGroup يمثِّل مجموعة الخيوط التي تحوي المهمة الفرعية المعطاة، أو تعاد القيمة nil إذا لم تكن المهمة الفرعية عضوًا في أي مجموعة. أمثلة مثال على استخدام التابع group‎: Thread.main.group #=> #<ThreadGroup:0x4029d914>‎ انظر أيضًا التابع join: يوقف عند استدعائه تنفيذ المهمة الفرعية المُستدعيَة (calling thread)، ...

encodeURIComponent()‎

الدالة encodeURIComponent()‎ تُرمِّز مكوِّن من مكونات روابط URI (اختصار للعبارة Uniform Resource Identifier) بتبديل كل نسخة من محارف معيّنة بعبارة مُهرَّبة (escape sequences) أو أكثر والتي تُمثِّل ترميز UTF-8 للمحرف المعني. البنية العامة encodeURIComponent(str); str سلسلة نصية تُمثِّل مكوِّنًا من مكوِّنات رابط URI. القيمة المعادة سلسلة نصية تُمثِّل النسخة المُرمَّزة من مكوِّن رابط URI. الوصف الدالة encodeURIComponent تُهرِّب (escape) جميع المحارف ما عدا: A-Z a-z 0-9 - _ . ! ~ * ' ( ) تختلف الدالة encodeURIComponent عن الدالة encodeURI ...

encodeURI()‎

الدالة encodeURI()‎ تُرمِّز روابط URI (اختصار للعبارة Uniform Resource Identifier) بتبديل كل نسخة من محارف معيّنة إلى عبارة مُهرَّبة (escape sequences) أو أكثر والتي تُمثِّل ترميز UTF-8 للمحرف المعني. البنية العامة encodeURI(URI) encodedURI رابط URI كامل. القيمة المعادة سلسلة نصية تُمثِّل النسخة المُرمَّزة من رابط URI. الوصف الدالة encodeURI لا تُرمِّز المحارف التي لها معنى خاص (المحارف المحجوزة [reserved charachters]) في روابط URI، فالمثال الآتي يُظهِر ما الذي يمكن أن يحتويه رابط URI، لاحظ أنَّ بعض المحارف فيه تُستخدَم لإعطاء ...

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

يعين التابع protected المرئية (visibility) الافتراضية للتوابع المعرفة لاحقًا إلى المرئية protected المحمية إن لم يمُرَّر إليه أي شيء. أما في حال تمرير اسم تابع (أو عدة توابع إليه)، فسيضبط مرئية هذه التوابع المرئية protected المحمية.  إن كانت مرئية تابعٍ محمية، فلن يكون قابلًا للاستدعاء إلا عندما يكون المتغير self الخاص بالسياق هو التابع نفسه. (في تعريف التابع أو instance_eval). يختلف هذا السلوك عن الأسلوب المحمي في Java. وعادة ما يجب استخدام private. لاحظ أن التوابع المحمية بطيئة لأنه لا يمكنها ...

المعامل ‎[]‎‎ الخاص بالصنف Method في روبي

يستدعي معامل الفهرسة [] الكتلة البرمجية للتابع، ويضبط قيم معاملات الكتلة عند القيم المعطاة ضمنه باستخدام صياغة مشابهة لاستدعاء التوابع ثم يعيد قيمة آخر تعبير تم تقييمه في الكتلة. لاحظ أنَّ ‎prc.()‎ يستدعي prc.call()‎ مع تمرير الوسائط المعطاة. وهي صياغة مختصرة لإخفاء التابع "call". بالنسبة للكائنات procs التي تم إنشاؤها باستخدام lambda أو ‎->()‎‎‎، سيُطلق خطأ إذا كان عدد المعاملات الممررة إلى proc غير صحيح. بالنسبة للكائنات proc التي تم إنشاؤها باستخدام Proc.new أو Kernel.proc، سيتم تجاهل المعاملات الإضافية بصمت، ...

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

الألياف (Fibers) هي حقولٌ أساسيّةٌ (primitives) تُستخدم في تنفيذ تعدّد المهام التشاركي (cooperative concurrency) للمهام الخفيفة (light weight) أي التي تستهلك جزءًا صغيرًا من الذاكرة. تعني أساسيًّا إنشاء كتل شيفرات يمكن إيقافها مؤقتًا واستئنافها، كما هو الحال مع الخيوط (threads). الفرق الأساسي في الألياف أنه لا يمكن إيقافها مؤقّتًا من قبل مهام أخرى تنفذ من قبل النظام (Preemption) وأن الجدولة (scheduling) يجب أن تتمَّ من قبل المبرمج وليس من قبل الآلة الافتراضية (virtual machine). على عكس نماذج تعدد المهام التشاركية ...

التابع SizedQueue.pop‎ في روبي

يجلب التابع pop بيانات من الطابور. إن كان الطابور فارغًا، يتم تعليق المهمة فرعية المُستدعية (calling thread) حتى يتم إضافة بيانات إلى الطابور. إن مُرِّرت القيمة true إلى التابع، فلن يتم تعليق المهمة فرعية، وسيُطلق الاستثناء ThreadError. البنية العامة pop(non_block=false) deq(non_block=false) shift(non_block=false)‎ المعاملات non_block‎ قيمة منطقية تحدد وضع عدم الحجز. إن كانت قيمة هذا المعامل تساوي true، فلن يتم تعليق المهمة فرعية، وسيُطلق الاستثناء ThreadError. القيمة الافتراضية هي: false. انظر أيضا التابع num_waiting: يعيد عدد المهام الفرعية التي تنتظر في الطابور. التابع push: يضيف كائنًا ...

التابع Proc.hash في روبي

يحسب التابع hash قيمة التجزئة (hash value) الموافقة لجسم الكتلة proc التي استدعيت معه ثمَّ يعيدها. انظر أيضًا في صفحة التابع Object.hash. البنية العامة hash → integer القيم المعادة تُعاد قيمة التجزئة الموافقة لجسم الكتلة proc المعطاة. انظر أيضًا التابع ?lambda: يتحقَّق إذا كانت معالجة الوسائط صارمةً في الكائن Proc. التابع to_proc: يُعدُّ جزءًا من البروتوكول المستخدم في تحويل الكائنات إلى كائناتٍ من الصنف Proc. المعامل ===: يستدعي الكتلة بتمرير الكائن الواقع على يمينه كمعاملٍ للنسخة proc. التابع call: يستدعي ...

التابع Proc.to_proc في روبي

يُعدُّ التابع to_proc جزءًا من البروتوكول المستخدم في تحويل الكائنات إلى كائناتٍ من الصنف Proc. إن استدعي التابع مع نسخة من الصنف Proc، فسيعيد هذه النسخة نفسها ببساطة. البنية العامة to_proc → proc القيم المعادة يُعاد ناتج تحويل الكائن المعطى إلى كائنٍ من الصنف Proc. انظر أيضًا التابع hash: يحسب قيمة التجزئة الموافقة لجسم الكتلة proc التي استدعيت معه ثمَّ يعيدها. التابع ?lambda: يتحقَّق إذا كانت معالجة الوسائط صارمةً في الكائن Proc. المعامل ===: يستدعي الكتلة بتمرير الكائن الواقع على ...

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

يوسع التابع extend_object الكائن المعطى بإضافة ثوابت و توابع هذه الوحدة (والتي تُضاف كتوابع فردية [singleton methods]). هذا هو التابع المستخدم من قبل Object.extend. البنية العامة extend_object(obj) → obj‎ المعاملات obj‎ الكائن المراد توسعته. القيمة المعادة يعاد الكائن obj بعد توسيعه. أمثلة مثال على استخدام التابع extend_object‎: module Picky def Picky.extend_object(o) if String === o puts "Can't add Picky to a String" else puts ...

الأصناف المجهولة في PHP

أُضيف دعم الأصناف المجهولة إلى الإصدار السابع من PHP، وهي مفيدة عند الحاجة إلى إنشاء نسخة واحدة بسيطة من الصنف. <?php // قبل الإصدار السابع class Logger { public function log($msg) { echo $msg; } } $util->setLogger(new Logger()); // الإصدار السابع وما بعده $util->setLogger(new class { public function log($msg) { echo $msg; } }); ?> يمكن للأصناف ...

الأصناف المجهولة في PHP

أُضيف دعم الأصناف المجهولة إلى الإصدار السابع من PHP، وهي مفيدة عند الحاجة إلى إنشاء نسخة واحدة بسيطة من الصنف. <?php // قبل الإصدار السابع class Logger { public function log($msg) { echo $msg; } } $util->setLogger(new Logger()); // الإصدار السابع وما بعده $util->setLogger(new class { public function log($msg) { echo $msg; } }); ?> يمكن للأصناف ...

مُحدِّدات الوصول (Visibility Modifiers) في لغة Kotlin

تُعيِّن مُحدِّدات الوصول قابليةَ الوصول إلى كلٍّ من الأصناف (classes) والكائنات (objects) والواجهات (interfaces) والدوال (functions) والخاصّيّات (properties) ودوال الوصول إليها من النوع setters (لأن مُحدِّد الوصول إلى getter مماثلٌ للوصول إلى الخاصّيّة نفسها)، وهناك أربعة أنواعٍ من المُحدِّدات وهي: private و protected و internal و public والنوع الافتراضيّ منها هو public (يُستخدم عند عدم وجود تصريحٍ عن إحداها)، وفيما يلي شرح لكيفيّة تطبيق المُحدِّدات على أنواعٍ مختلفةٍ من التصريحات (declarations). الحزم (Packages) يمكن تعريف كلٍّ من الدوال والخاصّيّات والأصناف ...

الصنف ObjectSpace::WeakMap في روبي

يحتفظ كائن الصنف ObjectSpace::WeakMap بمراجع أيِّ كائن، لكن قد تخضع هذه الكائنات لعملية جمع المهملات (garbage collected). يُستخدَم هذا الصنف في أغلب الأحيان داخليًا من قبل الصنف WeakRef؛ استخدم lib/weakref.rb رجاءً من أجل الواجهة العامَّة. توابع الصنف العامة (Public Instance Methods) [] يعيد كائنًا ذو مرجع ضعيف (weakly referenced) مع المفتاح المُعطى. =[] يُنشئ مرجعًا ضعيفًا (weak reference) من المفتاح المُعطى إلى القيمة المعطية. each يتكرَّر على المفاتيح والكائنات في كائنٍ ذي مرجعٍ ضعيفٍ (weakly referenced object). each_key يتكرَّر على ...

الصنف ObjectSpace::WeakMap في روبي

يحتفظ كائن الصنف ObjectSpace::WeakMap بمراجع أيِّ كائن، لكن قد تخضع هذه الكائنات لعملية جمع المهملات (garbage collected). يُستخدَم هذا الصنف في أغلب الأحيان داخليًا من قبل الصنف WeakRef؛ استخدم lib/weakref.rb رجاءً من أجل الواجهة العامَّة. توابع الصنف العامة (Public Instance Methods) [] يعيد كائنًا ذو مرجع ضعيف (weakly referenced) مع المفتاح المُعطى. =[] يُنشئ مرجعًا ضعيفًا (weak reference) من المفتاح المُعطى إلى القيمة المعطية. each يتكرَّر على المفاتيح والكائنات في كائنٍ ذي مرجعٍ ضعيفٍ (weakly referenced object). each_key يتكرَّر على ...

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

يعيد التابع instance_method كائنًا من النوع UnboundMethod يمثل تابع النسخة (instance method) المعطى في الوحدة التي استُدعي معها. البنية العامة instance_method(symbol)→ unbound_method‎ المعاملات symbol‎ كائن من النوع Symbol. القيمة المعادة يعاد كائنٌ من النوع UnboundMethod يمثل تابع النسخة المعطى في الوحدة التي استُدعي معها. أمثلة مثال على استخدام التابع instance_method‎: class Interpreter def do_a() print "there, "; end def do_d() print "Hello "; end def do_e() print "!\n"; end def do_v() print ...

PHP Object Iteration

يقدّم الإصدار الخامس من اللغة طريقة لتعريف العناصر ليكون بالإمكان المرور على قائمة من العناصر باستخدام العبارة foreach على سبيل المثال، وتستخدم جميع الخصائص المرئية بصورة افتراضية لعملية المرور على العناصر. المثال 1: مثال بسيط على المرور على عناصر الكائن <?php class MyClass { public $var1 = 'value 1'; public $var2 = 'value 2'; public $var3 = 'value 3'; protected $protected = 'protected var'; private ...

PHP Object Iteration

يقدّم الإصدار الخامس من اللغة طريقة لتعريف العناصر ليكون بالإمكان المرور على قائمة من العناصر باستخدام العبارة foreach على سبيل المثال، وتستخدم جميع الخصائص المرئية بصورة افتراضية لعملية المرور على العناصر. المثال 1: مثال بسيط على المرور على عناصر الكائن <?php class MyClass { public $var1 = 'value 1'; public $var2 = 'value 2'; public $var3 = 'value 3'; protected $protected = 'protected var'; private ...

التابع Thread.report_on_exception=‎ في روبي

يضبط التابع report_on_exception عند استدعائه بالشكل report_on_exception= boolean‎ حالة "التبليغ عند الاستثناء" (report on exception). عندما تكون القيمة المنطقية هي true، سترث كل المهام الفرعية التي تم إنشاؤها لاحقا الشرط (condition) وتبعث رسالة إلى المجرى ‎$stderr إذا أدى استثناء ما إلى إنهاء مهمة فرعية. يوجد أيضًا تابع نسخة (instance level method) لتعيين هذا الخيار لمهمة فرعية معينة؛ راجع report_on_exception=‎. البنية العامة report_on_exception= boolean→ true or false‎ القيمة المعادة تعاد القيمة المنطقية boolean التي تمثل الحالة الجديدة لحالة "التبليغ عند الاستثناء". ...

التابع Thread.handle_interrupt‎ في روبي

يغير التابع handle_interrupt توقيت المقاطعة غير المتزامنة (asynchronous interrupt timing). المقاطعة (interrupt) يعني الحدث غير المتزامن (asynchronous event) والإجراء المقابل raise و kill وإشارة المسك (signal trap، غير مدعومة حاليًا) وعملية إنهاء المهمة الفرعية الرئيسية (عند إنهاء المهمة الفرعية الرئيسية، فسيتم إنهاء كل المهام الفرعية الأخرى). البنية العامة handle_interrupt(hash) { ... } → result of the block‎ يحتوي المعامل hash المعطى على أزواج على شاكلة ExceptionClass => :TimingSymbol إذ ExceptionClass هو مقاطعة (interrupt) المٌعالج من قبل الكتلة المعطاة. أما TimingSymbol فيمكن أن يكون ...

المعامل === في الصنف Proc في روبي

يستدعي المعامل === الكتلة (block) بتمرير الكائن الواقع على يمينه كمعاملٍ للنسخة proc بشكلٍ مشابهٍ للتابع Proc.call. يسمح هذا للكائن proc أن يكون هدفًا للبنود (when clause) في عبارات case. البنية العامة proc === obj → result_of_proc القيم المعادة تُعاد نتيجة تنفيذ الكتلة. انظر أيضًا التابع hash: يحسب قيمة التجزئة الموافقة لجسم الكتلة proc التي استدعيت معه ثمَّ يعيدها. التابع ?lambda: يتحقَّق إذا كانت معالجة الوسائط صارمةً في الكائن Proc. التابع to_proc: يُعدُّ جزءًا من البروتوكول المستخدم في تحويل الكائنات ...

التابع Proc.new في روبي

يُنشئ التابع new كائنًا جديدًا من الصنف Proc، ويربطه إلى السياق الحالي. قد يُستدعى التابع new من دون كتلةٍ وهذا فقط ضمن التوابع المرفقة بكتل مُسبقًا، إذ تُحوَّل تلك الكتلة في مثل هذه الحالة إلى كائنٍ من النوع Proc. البنية العامة new {|...| block } → a_proc new → a_proc المعاملات … الوسائط المُمرَّرة إلى الكتلة. block الكتلة المراد تمريرها إلى الكائن. القيم المعادة يُعاد كائنٌ من الصنف Proc. أمثلة مثالٌ عن استخدام التابع new: def proc_from Proc.new end proc = proc_from ...

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

الصنف Numeric هو الصنف الذي يجب أن ترثه كل الأصناف العددية عالية المستوى. يسمح الصنف Numeric بتمثيل (instantiation) الكائنات المحجوزة في الكومة (heap-allocated objects). تُنفَّذ الأصناف العددية الأساسية الأخرى، مثل Integer، كأصناف آنيَّة، أي أنّ كل عدد صحيح هو كائن غير قابل للتغيير (immutable)، والذي يُمرَّر دائمًا بقيمته. اطلع على المثال التالي: a = 1 1.object_id == a.object_id #=> true لا يمكن أن يكون هناك إلا نسخة (instance) واحدة فقط من العدد الصحيح 1. تضمن روبي بهذا منع إنشاء نسخ ...

التابع Thread.join‎ في روبي

يوقف التابع join عند استدعائه تنفيذ المهمة الفرعية المُستدعيَة (calling thread)، وبدء تنفيذ المهمة الفرعية التي استُدعي معها. ولن يعود حتى تخرج (exits) المهمة الفرعية، أو حتى مرور فترة زمينة محدَّدة. في حالة انتهاء المهلة الزمنية، ستعاد القيمة nil؛ خلا ذلك، ستُعاد المهمة الفرعية. سيتم إنهاء كل المهام الفرعية غير المضمومة (joined) عندما يخرج البرنامج الرئيسي. إن أطلقت المهمة الفرعية سابقًا استثناء ولم يتم تعيين الرايتين abort_on_exception أو DEBUG (أي أنه لم تتم معالجة الاستثناء بعد)، فسيُعالج في هذا الوقت. البنية ...

خاصيات الكائنات في PHP

تطلق تسمية "الخاصيات properties" على المتغيّرات المعرّفة ضمن الأصناف، وهناك تسميات أخرى مثل "المعاملات" أو "الحقول"، ولكن سنستخدم التسمية الأولى "الخاصيات" في هذا الدليل. تعرّف الخاصيات باستخدام إحدى الكلمات المفتاحية public، أو protected، أو private تتبعها عبارة تصريح عن متغير اعتيادي. يمكن أن يتضمّن هذا التصريح عملية تهيئة initialization، ولكن يجب أن تكون هذه التهيئة ذات قيمة ثابتة، بمعنى أنّه يجب أن تكون قابلة للمعالجة في وقت التصريف ويجب أن لا تعتمد على المعلومات المتاحة في وقت التشغيل لغرض المعالجة. ...

خاصيات الكائنات في PHP

تطلق تسمية "الخاصيات properties" على المتغيّرات المعرّفة ضمن الأصناف، وهناك تسميات أخرى مثل "المعاملات" أو "الحقول"، ولكن سنستخدم التسمية الأولى "الخاصيات" في هذا الدليل. تعرّف الخاصيات باستخدام إحدى الكلمات المفتاحية public، أو protected، أو private تتبعها عبارة تصريح عن متغير اعتيادي. يمكن أن يتضمّن هذا التصريح عملية تهيئة initialization، ولكن يجب أن تكون هذه التهيئة ذات قيمة ثابتة، بمعنى أنّه يجب أن تكون قابلة للمعالجة في وقت التصريف ويجب أن لا تعتمد على المعلومات المتاحة في وقت التشغيل لغرض المعالجة. ...

التابع callcc‎ الخاص بالصنف Kernel في روبي

يولد التابع callcc كائنًا من النوع Continuation، والذي يُمرّر إلى الكتلة البرمجية المعطاة. تحتاج إلى أن تستورد 'continuation' عبر require قبل استخدام هذا التابع. يؤدي تنفيذ cont.call إلى خروج التابع callcc (كما سيقع خلال نهاية الكتلة). القيمة التي يعيدها callcc هي قيمة الكتلة، أو القيمة المُمرّرة إلى cont.call. انظر صفحة الصف Continuation لمزيد من التفاصيل. انظر أيضًا صفحة التابع throw للتعرف على آلية بديلة لتخفيف مكدس الاستدعاءات (call stack). البنية العامة callcc {|cont| block } → obj‎ القيمة المعادة تعاد ...

التابع Encoding::Converter.putback في روبي

يُعيد التّابع putback البايتات التي ستُحوَّل. يمكن استدعاء هذا التابع بشكل متسلسل (call-seq). ec.putback -> string ec.putback(max_numbytes) -> string تنتج البايتات من الخطأ invalid_byte_sequence. عند حصول هذا الخطأ تهمل بعض البايتات ويخزَّن بعضها الآخر مؤقتًا بانتظار تحويلها لاحقًا. البايتات التي سيعيدها التابع هي الأخير (أي البايتات المخزنة). يمكن مراقبة وتتبع هذه الحالة باستخدام التّابع Encoding::InvalidByteSequenceError.readagain_bytes والتّابع primitive_errinfo. البنية ...

الدوال المتغيّرة في PHP

تدعم PHP مفهوم الدوال المتغيّرة والذي يعني أنّه في حال إلحاق قوسين إلى نهاية اسم أحد المتغيّرات، فإنّ اللغة ستبحث عن دالة تحمل الاسم ذاته، وستحاول تنفيذها. يمكن الاستفادة من هذه الميزة في الاستدعاءات الخلفية callbacks، وجداول الدوال وما إلى ذلك. لا تعمل الدوال المتغيرة مع البنى التابعة للغة مثل echo و print و unset()‎ و isset()‎ و empty()‎ و include و require وما شابهها، ولاستخدام أيّ من هذه الدوال كدوال متغيرة يمكن الاستعانة بدوالّ تغليف. المثال 1: مثال على ...

الدوال المتغيّرة في PHP

تدعم PHP مفهوم الدوال المتغيّرة والذي يعني أنّه في حال إلحاق قوسين إلى نهاية اسم أحد المتغيّرات، فإنّ اللغة ستبحث عن دالة تحمل الاسم ذاته، وستحاول تنفيذها. يمكن الاستفادة من هذه الميزة في الاستدعاءات الخلفية callbacks، وجداول الدوال وما إلى ذلك. لا تعمل الدوال المتغيرة مع البنى التابعة للغة مثل echo و print و unset()‎ و isset()‎ و empty()‎ و include و require وما شابهها، ولاستخدام أيّ من هذه الدوال كدوال متغيرة يمكن الاستعانة بدوالّ تغليف. المثال 1: مثال على ...

التابع Thread.report_on_exception‎ في روبي

يعيد التابع report_on_exception حالة "التبليغ عند الاستثناء" (report on exception). القيمة الافتراضية هي true منذ روبي 2.5. كل المهام الفرعية التي يتم إنشاؤها عندما تكون قيمة هذه الراية مساوية للقيمة true ستبعث رسالة إلى المجرى stderr$ إذا أنهى استثناء ما هذه المهمة الفرعية. يُستخدَم هذا التابع لإمساك الأخطاء في المهمة الفرعية في وقت مبكر. لكن في بعض الحالات، قد لا ترغب في هذه المخرجات. هناك عدة طرق لتجنب المخرجات الزائدة: إذا لم يكن الاستثناء مقصودًا، فأفضل خيار أمامك هو إصلاح سبب ...

التابع Proc.yield في روبي

يستدعي التابع yield الكتلة المرتبطة بالمتغير الذي استعمل معه مُعيِّنًا معاملات الكتلة إلى القيم المعطاة ضمنه باستخدام شيءٍ مشابهٍ لدلالات استدعاء التابع. يُعيد المعامل قيمة آخر تعبيرٍ قُيِّم في الكتلة. a_proc = Proc.new {|scalar, *values| values.map {|value| value*scalar } } a_proc.call(9, 1, 2, 3) #=> [9, 18, 27] a_proc[9, 1, 2, 3] #=> [9, 18, 27] a_proc.(9, 1, 2, 3) #=> [9, 18, 27] a_proc.yield(9, 1, ...

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

تُولّد الكائنات Continuation بواسطة التابع Kernel.callcc بعد استيراد continuation عبر require. تحمل هذه الكائنات عنوان العودة (return address) وسياق التنفيذ (execution context)، مما يتيح العودة إلى نهاية الكتلة callcc من أي مكان في البرنامج. كائنات الصنف Continuation مشابهة لحد ما البنية setjmp/longjmp في لغة C (على الرغم من أنَّها تحتوي على حالات أكثر، لذلك يمكن اعتبارها أقرب إلى المهام الفرعية [threads]). على سبيل المثال: require "continuation" arr = [ "Freddie", "Herbie", "Ron", "Max", "Ringo" ] callcc{|cc| $cc = cc} puts(message = arr.shift) $cc.call unless message ...

الأصناف المتداخلة (Nested) والداخلية (Inner) في لغة Kotlin

الأصناف المتداخلة (Nested) يُمكن للأصناف أن تتداخل فيما بينها، ويتَّضح ذلك عبر المثال الآتي: class Outer {    private val bar: Int = 1    class Nested {        fun foo() = 2    } } val demo = Outer.Nested().foo() // == 2 إذ يتوضَّع الصنف باسم Nested داخل الصنف Outer ، وعند تعريف المتغيِّر demo فهو سيأخذ القيمة من الدالة foo والموجودة في الصنف Nested المُعرَّف بالصنف Outer والتي هي القيمة 2. الأصناف الداخليَّة (Inner Classes) يُمكن تحديد الصنف كصنفٍ داخليٍّ بالكلمة المفتاحيّة inner وذلك بهدف إتاحة الوصول لكافّة عناصر ...

التابع instance_eval في الصنف BasicObject في روبي

يقدِّر (Evaluates) التابع instance_eval‎ ناتج تنفيذ شيفرة مصدرية للغة روبي معطاة كسلسلة نصية أو ناتج كتلة برمجية (block) مُمرَّرة ضمن سياق كائن مُستقبِل (obj). لتعيين السياق، يُضبَط المتغير self إلى obj أثناء تنفيذ الشيفرة، مما يعطي الشيفرة إمكانية الوصول لمتغيرات النسخة obj والتوابع الخاصة. عندما يُمرَّر إلى التابع instance_eval كتلة برمجية، يُمرَّر obj أيضاً كوسيط وحيد للكتلة. البنية العامة instance_eval(string [, filename [, lineno]] ) → obj instance_eval {|obj| block } → obj عندما يُمرَّر إلى التابع instance_eval سلسلة نصية، يوفر ...

Python/Examples

هذه الصفحة هي تجميع منظم ومرتب لأمثلة بلغة بايثون الاستثناءات تحتوي هذه الفقرة على أمثلة يصدر فيها استثناءات. الاستثناء FileNotFoundError تُصدره بعض التوابع القارئة للملفات عند عدم وجود الملف >>> f=open('D:\\file.txt') Traceback (most recent call last): File "<pyshell#123>", line 1, in <module> f=open('D:\\file.txt') FileNotFoundError: [Errno 2] No such file or directory: 'D:\\file.txt' الاستثناء KeyError  يصدر عند محاولة الوصول إلى عنصر عن طريق مفتاح غير موجود في القاموس >>> a=dict() >>> a["test"]="good" >>> print(a["no key"]) Traceback ...

Function.prototype.call()‎

الدالة Function.prototype.call()‎ تستدعي دالةً وتضبط قيمة this فيها إلى القيمة المعطية، وستُوفَّر الوسائط التي ستُمرَّر إليها كقائمة. ملاحظة: صحيحٌ أنَّ البنية العامة لهذه الدالة تكاد تماثل بينة الدالة apply()‎، لكن الفرق الرئيسي بينهما هو أنَّ الدالة apply()‎ تقبل مصفوفةً واحدةً تحتوي على الوسائط، بينما call()‎ تقبل قائمةً بالوسائط التي تُمرَّر إلى الدالة. البنية العامة function.call([thisArg, arg1, arg2, ...]) thisArg وسيطٌ اختياري، وهو يُمثِّل قيمة المعامل this التي ستُستعمل في الدالة function، لاحظ أنَّ قيمة this المُمرَّرة لا تعني بالضرورة أنَّها ...

تغليف الحقول (Encapsulate Field)

المشكلة لديك حقل عام. الحل جعل الحقل خاصًّا وإنشاء توابع وصول له. مثال قبل إعادة التصميم وجود الحقل العام name في الصنف Person: في لغة Java: class Person { public String name; } في لغة C#‎: class Person { public string name; } في لغة PHP: public $name; في لغة TypeScript: class Person { name: string; } بعد إعادة التصميم جعل الحقل name خاصًّا وإنشاء تابع جلب getName وضبط setName له: في لغة Java: class Person { private String name; public ...

التابع Method.arity‎ في روبي

يعيد التابع arity مؤشرًا يمثل لعدد الوسائط المقبولة من قبل التابع (method) الذي استُدعي معه. يعيد عددًا صحيحًا غير سالب للتوابع التي تقبل عددًا محددًا من الوسائط. بالنسبة لتوابع روبي التي تأخذ عددًا متغيرًا من الوسائط، يًعاد العدد ‎-n-1، حيث n هو عدد الوسائط المطلوبة. الوسائط المسماة (Keyword arguments) ستُعد وسيطاً إضافيًا واحدًا، وسيكون ذلك الوسيط إلزاميًّا إن كان أيٌّ من الوسائط المسماة كذلك. بالنسبة للتوابع المكتوبة بلغة C، سيُعاد العدد ‎-1 إن كانت تلك التوابع تأخذ عددًا متغيرًا من الوسائط. ...

التابع require‎ الخاص بالصنف Kernel في روبي

يُحمِّل التابع require ميزة محدَّدة ثمَّ يعيد true في حال نجح في ذلك، أو false إذا كانت الميزة (feature) مُحملة سلفًا. ستكون كل الثوابت والمتغيرات العامة (global) الموجودة في الملف المصدري المُحمل متاحةً في مجال أسماء البرنامج المُستدعِي (calling program) العام (global namespace). لكن لن تنتشر المتغيرات المحلية في بيئة التحميل. البنية العامة require(name) → true or false‎ المعاملات name‎ اسم الملف المراد تحميله. إذا لم يكن بالإمكان استبيان اسم الملف إلى مسار مطلق (absolute path)، فسيتم البحث عنه في ...

المعامل [] في الصنف Proc.call في روبي

يستدعي المعامل [] الكتلة المرتبطة بالمتغير الذي استعمل معه مُعيِّنًا معاملات الكتلة إلى القيم المعطاة ضمنه باستخدام شيءٍ مشابهٍ لدلالات استدعاء التابع. يُعيد المعامل قيمة آخر تعبيرٍ قُيِّم في الكتلة. a_proc = Proc.new {|scalar, *values| values.map {|value| value*scalar } } a_proc.call(9, 1, 2, 3) #=> [9, 18, 27] a_proc[9, 1, 2, 3] #=> [9, 18, 27] a_proc.(9, 1, 2, 3) #=> [9, 18, 27] a_proc.yield(9, 1, ...

الدوال المباشرة (Inline Functions) في لغة Kotlin

الدوال المباشرة (Inline Functions) ينتُج عن استخدام الدوال من المرتبة الأعلى (higher-order functions) بعض التأثيرات السلبيّة أثناء التنفيذ (runtime)، إذ تُعدُّ كل دالة كائنًا (object) ضمن نطاقٍ مغلقٍ (closure) يشمل المتغيِّرات التي يمكن الوصول إليها في بُنية الدالة، كما ويتطلَّب ذلك تكلفةً إضافيّةً عند تخصيص جزءٍ من الذاكرة (لكلٍ من كائنات الدوال والأصناف [classes]) وعند الاستدعاءات الوهمية (virtual calls) أثناء التنفيذ. وقد يُحدُّ من هذه المشاكل باللجوء إلى تعابير lambda المباشرة، إذ تُعدُّ الدالة lock()‎ مثالًا جيدًا لمثل هذه الحالات التي ...

الدالة session_cache_limiter()‎ في PHP

PHP 4 >= 4.0.3, PHP 5, PHP 7)‎) تعيد الدالة session_cache_limiter()‎ أو تضبط محدّد ذاكرة التخزين المؤقتة. الوصف string session_cache_limiter ([ string $cache_limiter ] )‎ تعيد الدالة session_cache_limiter()‎ اسم محدّد ذاكرة التخزين المؤقتة الحالية. يحدّد محدّد ذاكرة التخزين المؤقت أيّة ذاكرة تخزين مؤقتة يتم من خلالها إرسال ترويسات HTTP إلى العميل. تحدّد هذه الترويسات القواعد التي قد يتم تخزين محتوى الصفحة بها مؤقتًا بواسطة العميل ووكلاء وسيطة (intermediate proxies). لا يسمح تعيين محدد ذاكرة التخزين المؤقتة إلى nocache بالتخزين المؤقت للعميل. ...

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

يوفر الصنف TracePoint وظائف Kernel.set_trace_func على شكل واجهة برمجية كائنية (Object-Oriented API). مثال يمكننا استخدام المتعقبات (كائنات الصنف TracePoint) لجمع المعلومات بخصوص الاستثناءات: trace = TracePoint.new(:raise) do |tp| p [tp.lineno, tp.event, tp.raised_exception] end #=> #<TracePoint:disabled> trace.enable #=> false 0 / 0 #=> [5, :raise, #<ZeroDivisionError: divided by 0>]‎ الأحداث إذا لم تحدِّد نوع الأحداث التي تريد الاستماع إليها، فسيشمل المتعقب TracePoint جميع الأحداث المتاحة. ملحوظة: لا تعتمد على مجموعة الأحداث الحالية، إذ أن هذه القائمة عرضةٌ للتغيير. بدلًا من ذلك، يُنصَح بتحديد نوع ...

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

يتم إنشاء كائنات الصنف Method بواسطة التابع Object.method، وترتبط بكائن معين (وليس بالصنف وحسب). ويمكن استخدامها لاستدعاء التابع داخل الكائن، أو ككتلة (block) مرتبطة بمكرر (iterator). كما يمكن فك ارتباطها (unbound) من كائن محدد (سيؤدي ذلك إلى إنشاء الكائن UnboundMethod) ثم ربطها بآخر. class Thing def square(n) n*n end end thing = Thing.new meth = thing.method(:square) meth.call(9) #=> 81 [ 1, 2, 3 ...

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

تدعم روبي شكلين من التوابع الكائنية (objectified methods). يستخدم الصنف Method لتمثيل التوابع المرتبطة بكائن معين، ويمكن إنشاء كائنات التوابع من هذا النوع عبر التابع Object.method. تدعم روبي أيضًا التوابع الحرة (unbound methods)؛ وهي كائنات توابع غير مرتبطة بكائن معين. يمكن إنشاؤها إما عن طريق استدعاء Module.instance_method، أو عن طريق استدعاء unbind على تابع مرتبط (bound method object). نتيجة كليهما ستكون تابعًا حرًا (كائن من النوع UnboundMethod). لا يمكن استدعاء التوابع الحرة إلا بعد ربطها بكائن ما. ويجب أن يعيد ...

الدالة get_object_vars()‎‎‎‎ في PHP

(PHP 4, PHP 5, PHP 7) تحصل الدالة get_object_vars()‎‎‎ على خصائص (properties) الكائن المُعطى. الوصف array get_object_vars ( object $object ) تحصل الدالة get_object_vars()‎‎‎ على الخصائص غير الساكنة التي يمكن الوصول إليها للكائن المُعطى وفقًا للنطاق. المعاملات object الكائن الذي نريد الحصول على خصائصه. القيم المعادة تُعيد الدالة get_object_vars()‎‎‎ مصفوفة ترابطية لخصائص كائن مُعرّفة غير ساكنة قابلة للوصول لكائن مُحدد object في نطاق. إذا لم تُسند قيمة إلى خاصيةٍ ما، فستُعيد الدالة get_object_vars()‎ القيمة NULL. سجل التغييرات الإصدار الوصف 5.3.0 ...

أنماط الشيفرات المُتعارَف عليها ما بين مبرمجي Kotlin

تعرِض هذه الصفحة أنماط كتابة الشيفرات المُتعارَف عليها (conventions) من قِبل مبرمجي لغة Kotlin. تطبيق دليل التنسيق (Applying the Style Guide) لضبط المُنسِّق IntelliJ formatter بما يتوافق مع هذا الدليل يُنصَح بتثبيت إضافة Kotlin بالإصدار 1.2.20 (أو أي إصدارٍ أحدث) وضبط المّحرِّر بالانتقال إلى الإعدادات (Settings) ثمّ المُحرِّر (Editor) ثم نمط الشيفرة (Code Style) ثم Kotlin واختر "ضبط من..." Set from…"‎" في الزاوية اليمنى العُلويَّة ومن القائمة اختر الخيار Predefined style/Kotlin style guide. وللتأكد من تنسيق الشيفرة وفقًا لدليل Kotlin ...

أنماط الشيفرات المُتعارَف عليها ما بين مبرمجي Kotlin

تعرِض هذه الصفحة أنماط كتابة الشيفرات المُتعارَف عليها (conventions) من قِبل مبرمجي لغة Kotlin. تطبيق دليل التنسيق (Applying the Style Guide) لضبط المُنسِّق IntelliJ formatter بما يتوافق مع هذا الدليل يُنصَح بتثبيت إضافة Kotlin بالإصدار 1.2.20 (أو أي إصدارٍ أحدث) وضبط المّحرِّر بالانتقال إلى الإعدادات (Settings) ثمّ المُحرِّر (Editor) ثم نمط الشيفرة (Code Style) ثم Kotlin واختر "ضبط من..." Set from…"‎" في الزاوية اليمنى العُلويَّة ومن القائمة اختر الخيار Predefined style/Kotlin style guide. وللتأكد من تنسيق الشيفرة وفقًا لدليل Kotlin ...

التوابع السحرية في PHP

التوابع السحرية في أصناف PHP هي ‎__construct()‎ و ‎__destruct()‎ و ‎__call()‎ و ‎__callStatic()‎ و ‎__get()‎ و ‎__set()‎ و ‎__isset()‎ و ‎__unset()‎‎ و ‎__sleep()‎ و ‎__wakeup()‎ و ‎__toString()‎ و ‎__invoke()‎ و ‎_‎_set_state()‎ و ‎__clone()‎ و ‎__debugInfo()‎. ولا يمكنك استخدام دوالّ تحمل هذه الأسماء في أي صنف ما لم تكن ترغب في الاستفادة من الوظيفة السحرية التي تتمتّع بها. تحذير: تحجز PHP جميع الدوال التي تبدأ بالرمز __ كدوال سحرية؛ لذا ينصح بعدم تسمية دوالك الخاصة بأسماء تبدأ بهذا الرمز ما لم ...

التوابع السحرية في PHP

التوابع السحرية في أصناف PHP هي ‎__construct()‎ و ‎__destruct()‎ و ‎__call()‎ و ‎__callStatic()‎ و ‎__get()‎ و ‎__set()‎ و ‎__isset()‎ و ‎__unset()‎‎ و ‎__sleep()‎ و ‎__wakeup()‎ و ‎__toString()‎ و ‎__invoke()‎ و ‎_‎_set_state()‎ و ‎__clone()‎ و ‎__debugInfo()‎. ولا يمكنك استخدام دوالّ تحمل هذه الأسماء في أي صنف ما لم تكن ترغب في الاستفادة من الوظيفة السحرية التي تتمتّع بها. تحذير: تحجز PHP جميع الدوال التي تبدأ بالرمز __ كدوال سحرية؛ لذا ينصح بعدم تسمية دوالك الخاصة بأسماء تبدأ بهذا الرمز ما لم ...

الدالة ()‎get_function في Sass

تعيد الدالة ()get_function مرجعًا إلى دالة من أجل استدعائها لاحقًا باستخدام الدالة ()call. البنية العامة get_function($name, $css: false) المعاملات ‎$name اسم الدالة المراد الحصول على مرجع لها. ‎$css يحدِّد هذا المعامل ما إذا كانت ستُعاد دالة خاصة بلغة CSS. إن كانت قيمة هذا المعامل هي FALSE، فقد يُشير مرجع الدالة إلى دالةٍ معرّفة في ملف الأنماط أو مضمَّنة في بيئة المضيف؛ وإن كانت قيمته TRUE، فسيشير إلى دالة خاصة بلغة CSS. القيم المعادة يُعاد مرجعٌ للدالة ذات الاسم ‎$name. أمثلة ...

Ruby/Topics

تثبيت روبي توجد طرائق عدَّة لتنزيل وتثبيت روبي على كل منصة وهي: إمَّا استعمال أنظمة مدير الحزم، أو باستعمال المثبِّتات التلقائية، أو باستعمال مدراء روبي. هنالك طريقة أخرى يمكنك بالتأكيد استعمالها لتثبيت روبي وتصريف شيفراتها وهي بنائها من الشيفرة المصدرية مباشرةً. حول روبي يوفر هذا القسم لمحة سريعة عن لغة روبي ونشأتها، وتطورها، ومزاياها التي انفردت بها عن اللغات الأخرى، والتنفيذات المختلفة التي تملكها. البنية العامة بنية اللغة تعد روبي مزيجًا من اللغات البرمجية التالية: Perl، و Smalltalk، و Eiffel، ...

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

الصنف BasicObject هو الصنف الأب لجميع الأصناف في روبي، وهو صنف فارغ. يمكن استخدام الصنف BasicObject لإنشاء هرميات كائنية (object hierarchies) مستقلة عن الهرمية الكائنية للغة روبي، أو لإنشاء مغلفات الكائنات (proxy objects) مثل الصنف Delegator، أو حيث يجب تجنب إفساد مجال الأسماء (namespace pollution) من قبل توابع وأصناف روبي. لتجنب إفساد الصنف BasicObject للمستخدمين الآخرين، يجب إنشاء صنف فرعي من الصنف BasicObject تحت اسم مناسب بدلاً من تعديل BasicObject مباشرةً: class MyObjectSystem < BasicObject end لا يتضمَّن الصنف BasicObject الوحدة Kernel ...

Array.prototype.every()‎

الدالة Array.prototype.every()‎ تختبر إذا كانت جميع عناصر المصفوفة تحقق الاختبار المُحدَّد من قِبل الدالة المعنية. function isBelowThreshold(currentValue) { return currentValue < 40; } var array1 = [1, 30, 39, 29, 10, 13]; console.log(array1.every(isBelowThreshold)); // true البنية العامة arr.every(callback[, thisArg]) callback الدالة التي ستختبر كل عنصر من عناصر المصفوفة، وتقبل ثلاثة وسائط. currentValue العنصر الحالي الذي يُعالِج في المصفوفة، وهذه القيمة مطلوبة. index فهرس العنصر الحالي في المصفوفة، وهذه القيمة اختيارية. array المصفوفة التي استدعيت الدالة every عليها، وهذه القيمة اختيارية. thisArg القيمة ...

الدالة Promise.prototype.catch()‎ في JavaScript

الدالة catch()‎ تعيد وعدًا Promise وتتعامل مع حالات رفض الوعود فقط. وهي تسلك نفس سلوك استدعاء الدالة Promise.prototype.then(undefined, onRejected)‎. وفي الواقع، استدعاء الدالة obj.catch(onRejected)‎ سيستدعي الدالة obj.then(undefined, onRejected)‎ داخليًا. var promise1 = new Promise(function(resolve, reject) { throw 'Uh-oh!'; }); promise1.catch(function(error) { console.log(error); }); // Uh-oh! البنية العامة p.catch(onRejected); p.catch(function(reason) { // التعامل مع الرفض }); المعاملات onRejected دالة تستدعى عند رفض الوعد Promise. هذه الدالة تملك معاملًا وحيدًا: reason سبب الرفض. الوعد المُعاد من الدالة catch()‎ سيُرفَض إذا رمت الدالة onRejected أو ...

Array.prototype.map()‎

الدالة Array.prototype.map()‎ تُنشِئ مصفوفةً جديدةً باستخدام القيم المُعادة من استدعاء دالة مُحدَّدة على جميع عناصر المصفوفة الأصلية. var array1 = [1, 4, 9, 16]; // دالة سهمية const map1 = array1.map(x => x * 2); console.log(map1); // [2, 8, 18, 32] البنية العامة var new_array = arr.map(callback[, thisArg]) callback الدالة التي ستختبر كل عنصر من عناصر المصفوفة، وتقبل ثلاثة وسائط. currentValue العنصر الحالي الذي يُعالِج في المصفوفة، وهذه القيمة مطلوبة. index فهرس العنصر الحالي في المصفوفة، وهذه القيمة اختيارية. array المصفوفة التي استدعيت ...

إنشاء قوائم باستخدام الأمر المُضمَّن select في Bash

عام استخدام أمر select البُنية اللغوية لأمر select تشبه بُنية حلقة for: select WORD [in LIST]; do RESPECTIVE-COMMANDS; done ويُستخدم أمر select من أجل إنشاء قوائم بسهولة عبر اتباع ما يلي: تُوسّع القائمة LIST مولِّدة قائمة من العناصر ويطبع التوسع في خطأ قياسي (standard error)، كما يُسبق كل عنصر من القائمة برقم. وإن لم تكن in LIST موجودة فتُطبع المعامِلات الموضعية كما لو تم تحديد @$ in. أيضًا، تُطبع قائمة LIST مرة واحدة فقط. يُطبع محث PS3 عند طباعة كل العناصر، ...

عملية تهيئة ريلز

يشرح هذا الدليل العمل الداخلي لعملية التهيئة في ريلز. وهو دليل متعمق للغاية وموصى به لمطوري ريلز المتقدمّين. ستتعلم بعد قراءة هذا الدليل: كيفيّة استخدام خادم ريلز (rails server). التسلسل الزمني لتهيئة ريلز. أين تُطلَب الملفّات المختلفة أثناء تسلسل التمهيد. كيفيّة تعريف واجهة Rails::Server واستخدامها. يتضمّن هذا الدليل كل استدعاء لتابع مطلوب لتشغيل مكّدس Ruby on Rails (أي stack) لتطبيق ريلز افتراضي، مع شرح كل جزء بالتفصيل. بالنسبة لهذا الدليل، سنركّز على ما يحدث عند تنفيذ rails server لبدء إقلاع ...

الجدول ASCII في أردوينو

يرجع الترميز ASCII (اختصارٌ إلى American Standard Code for Information Interchange) إلى ستينيات القرن الماضي، وكان يُعدُّ الطريقة القياسية المتبعة آنذاك (والتي لا تزال مستعملة إلى يومنا هذا) في ترميز النصوص عدديًّا. انتبه إلى أنَّ المحارف 32 الأولى من هذا الجدول هي محارف غير مطبوعة (non-printing characters)، وتدعى غالبًا محارف التحكم (control characters). القيمة العشرية القيمة الست عشرية المحرف   القيمة العشرية القيمة الست عشرية المحرف القيمة العشرية القيمة الست عشرية المحرف 0 00 NUL (null) 42 2A * 85 ...

تعريف التوابع الدخيلة (Introduce Foreign Methods)

المشكلة الحاجة إلى تابعٍ غير موجودٍ في الصنف المساعد (utility class) ومن غير الممكن إضافته إلى ذلك الصنف. الحل إضافة التابع المطلوب إلى صنف العميل (client class) وتمرير كائنٍ (object) من الصنف المساعد إليه كوسيط (argument). مثال قبل إعادة التصميم يحتوي الصنف Report تابعًا باسم sendReport والذي يستخدم الصنف المساعد Date لإنشاء تاريخ اليوم التالي عبر إضافة القيمة 1 إلى اليوم الحالي، كما يلي: في لغة Java: class Report { //... void sendReport() { Date ...

array_map()‎

(PHP 4 >= 4.0.6, PHP 5, PHP 7) تنفذ الدالة array_map()‎ دالةً أخرى يحددها المستخدم على كل عنصر موجود في المصفوفات المُمرََرَة. الوصف array array_map ( callable $callback , array $array1 [, array $... ] ) تعيد الدالة كل عناصر المصفوفة array1 بعد تنفيذ الدالة callback على كل عنصر من عناصرها. يجب أن يساوي عدد المعاملات التي تقبلها الدالة callback عدد المصفوفات المُمَرََرَة إلى الدالة array_map()‎. المعاملات callback mixed callback (mixed $parameter1 [, mixed $...]) دالة يحددها المستخدم لتنفيذها على كل ...

array_map()‎

(PHP 4 >= 4.0.6, PHP 5, PHP 7) تنفذ الدالة array_map()‎ دالةً أخرى يحددها المستخدم على كل عنصر موجود في المصفوفات المُمرََرَة. الوصف array array_map ( callable $callback , array $array1 [, array $... ] ) تعيد الدالة كل عناصر المصفوفة array1 بعد تنفيذ الدالة callback على كل عنصر من عناصرها. يجب أن يساوي عدد المعاملات التي تقبلها الدالة callback عدد المصفوفات المُمَرََرَة إلى الدالة array_map()‎. المعاملات callback mixed callback (mixed $parameter1 [, mixed $...]) دالة يحددها المستخدم لتنفيذها على كل ...

Python/stat/S ISDIR

أمثلة يوضح المثال التالي الطريقة المُثلى للاستفادة من توابع الكشف في الصنف stat: import os, sys from stat import * def walktree(top, callback): '''recursively descend the directory tree rooted at top, calling the callback function for each regular file''' for f in os.listdir(top): pathname = os.path.join(top, f) mode = os.stat(pathname).st_mode ...

الدالة weakref.WeakMethod()‎ في بايثون

صنف فرعي خاصّ من الصنف ref يحاكي إشارة ضعيفة إلى تابع مرتبط bound method (أي تابع معرف في صنف وجرى البحث عنه في نسخة من ذلك الصنف). ملاحظة: هذا الصنف جديد في الإصدار 3.4. البنية العامة class weakref.WeakMethod(method) المعاملات dict التابع المراد إنشاء محاكاة لإشارة ضعيفة إليه. التوابع المرتبطة سريعة الزوال ما يمنع من تمسّك الإشارات الضعيفة العادية بها. يمتلك الصنف WeakMethod طريقة خاصة لإعادة إنشاء التابع المرتبط والإبقاء عليه إلى أن يموت الكائن أو الدالة الأصلية: >>> class C: ... ...

Array.prototype.forEach()‎

الدالة Array.prototype.forEach()‎ تستدعي دالةً لكل عنصر موجود في المصفوفة. const arr = ['a', 'b', 'c']; arr.forEach(function(element) { console.log(element); }); // a // b // c البنية العامة arr.forEach(callback[, thisArg]) callback الدالة التي ستُنفَّذ كل عنصر من عناصر المصفوفة، وتقبل ثلاثة وسائط. currentValue العنصر الحالي الذي يُعالِج في المصفوفة، وهذه القيمة مطلوبة. index فهرس العنصر الحالي في المصفوفة، وهذه القيمة اختيارية. array المصفوفة التي استدعيت الدالة forEach عليها، وهذه القيمة اختيارية. thisArg القيمة التي ستُستخدَم في this عند استدعاء الدالة callback، وهي قيمة ...

الدالة delattr()‎ في بايثون

تحذف الدّالة delattr()‎ الخاصيّة المُعطاة من الكائن (إن سمَح الكائن بحذف الخاصيّة). البنية العامة delattr(object, name) المعاملات object الكائن المرغوب حذف خاصيّةٍ من خاصيّاته. name سلسلة نصيّة تُمثّل اسم الخاصيّة المرغوب حذفها. القيمة المعادة القيمة None كبقيّة الدّوال التي لا تُعيد أي قيمة صراحةً في بايثون. أمثلة المثال التّالي يوضّح كيفيّة عمل هذه الدّالة، لاحظ أنّها مُشابهة للكلمة المفتاحيّة del التي تحذف الكائنات: >>> class A: ... def __init__(self, a=1, b=2): ... ...

Python/pathlib/PurePath/with name

 التابع PurePath.with_name في بايثون يعيد مسارًا جديدًا مع تغيير اسم العنصر الأخير، ويرمي استثناءً ValueError إن لم يكن في المسار الأصلي اسم ملف. البنية العامة >>> p = PureWindowsPath('c:/Downloads/pathlib.tar.gz') >>> p.with_name('setup.py') PureWindowsPath('c:/Downloads/setup.py') >>> p = PureWindowsPath('c:/') >>> p.with_name('setup.py') Traceback (most recent call last):  File "<stdin>", line 1, in <module>  File "/home/antoine/cpython/default/Lib/pathlib.py", line 751, in with_name    raise ValueError("%r has an empty name" % (self,)) ValueError: PureWindowsPath('c:/') has an empty name المعاملات الوسيط name الاسم الجديد للملف. القيمة المعادة يعيد مسارًا جديدًا مع تغيير اسم العنصر الأخير، ويرمي استثناءً ValueError إن ...

واجهات الكائنات في PHP

تتيح واجهات الكائنات إنشاء شيفرة تحدّد التوابع التي يجب أن يتضمّنها الصنف دون الحاجة إلى تعريف آلية التحكّم في هذه التوابع. تعرّف الواجهات بنفس طريقة تعريف الأصناف، ولكن باستخدام الكلمة المفتاحية interface بدل الكلمة المفتاحية class ودون تعريف محتوى أيّ تابعٍ في الواجهة. يجب أن تكون جميع التوابع المصرّح عنها في الواجهة من النوع public وهذه هي طبيعة الواجهة. يمكن التصريح عن تابع بانٍ في الواجهة، وهو أمر مفيد في بعض الحالات، كاستخدام التابع من قبل المعامل factories. العامل implements ...

واجهات الكائنات في PHP

تتيح واجهات الكائنات إنشاء شيفرة تحدّد التوابع التي يجب أن يتضمّنها الصنف دون الحاجة إلى تعريف آلية التحكّم في هذه التوابع. تعرّف الواجهات بنفس طريقة تعريف الأصناف، ولكن باستخدام الكلمة المفتاحية interface بدل الكلمة المفتاحية class ودون تعريف محتوى أيّ تابعٍ في الواجهة. يجب أن تكون جميع التوابع المصرّح عنها في الواجهة من النوع public وهذه هي طبيعة الواجهة. يمكن التصريح عن تابع بانٍ في الواجهة، وهو أمر مفيد في بعض الحالات، كاستخدام التابع من قبل المعامل factories. العامل implements ...

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