نتائج البحث

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

الصنف 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 في روبي

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

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

يُعيد التابع arity عدد الوسائط الإلزاميَّة في الكائن proc الذي استدعي معه. إذا عُرِّفت الكتلة (block) من دون وسائط، فسيُعيد التابع القيمة 0. إذا عُرِّفت الكتلة مع عدد محدَّد n من الوسائط، فسيُعيد التابع ذلك العدد n. إذا كان للكتلة وسائط اختيارية، فسيُعيد التابع 1-n-، إذ يمثِّل n عدد الوسائط الإلزامية، باستثناء الكتل التي ليست من النوع lambda والتي تمتلك عددًا محدودًا من الوسائط الاختيارية؛ في هذه الحالة الأخيرة، يُعيد التابع العدد n. تُعتبر وسائط الكلمة المفتاحية (keyword argument) وسيطًا ...

التابع ?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 ...

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

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

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

يُعيد التابع binding الرَّبط (binding) الموافق للكائن Proc الذي استدعي معه. لاحظ أنَّ التابع Kernel.eval يقبل إما كائنًا من النوع Proc أو النوع Binding على أنَّه معامله الثّاني. البنية العامة binding → binding القيم المعادة يُعاد كائنٌ من النوع Binding. أمثلة مثالٌ عن استخدام التابع binding: def fred(param) proc {} end b = fred(99) eval("param", b.binding) #=> 99 انظر أيضًا التابع arity: يُعيد عدد الوسائط الإلزاميَّة في الكائن proc الذي استدعي معه. التابع curry: يُعيد كتلة proc مقسَّمة. التابع to_s: ...

التابع 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 ...

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

يُعيد التابع source_location اسم ملف روبي المصدري ورقم السَّطر الحاوي على كتلة proc محدَّدة، أو يُعيد القيمة nil إذا كانت هذه الكتلة غير مُعرَّفة في روبي (مثل native). البنية العامة source_location → [String, Integer] القيم المعادة تُعاد مصفوفةٌ تحوي سلسلةً نصيَّةً (String) تُمثِّل اسم ملف روبي المصدري وعددًا صحيحًا (Integer) يمثِّل رقم السطر الذي يحتوي كتلة proc المُحدَّدة، أو تُعاد القيمة nil إذا كانت هذه الكتلة غير مُعرَّفة في روبي. انظر أيضًا التابع arity: يُعيد عدد الوسائط الإلزاميَّة في الكائن ...

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

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

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

يُعيد التابع parameters معلوماتٍ عن معاملات كتلة محدَّدة من النوع proc. البنية العامة parameters → array القيم المعادة تُعاد مصفوفةٌ تتضمَّن معلوماتٍ عن معاملات الكتلة proc المعطاة. أمثلة مثالٌ عن استخدام التابع parameters: prc = lambda{|x, y=42, *other|} prc.parameters #=> [[:req, :x], [:opt, :y], [:rest, :other]] انظر أيضًا التابع arity: يُعيد عدد الوسائط الإلزاميَّة في الكائن proc الذي استدعي معه. التابع binding: يُعيد الرَّبط الموافق للكائن Proc الذي استدعي معه. التابع curry: يُعيد كتلة proc مقسَّمة. التابع to_s: يُعيد المُعرِّف ...

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

يُعيد التابع to_s المُعرِّف الفريد (unique identifier) لكتلة proc محدّدة بالتزامن مع إشارة لمكان تعريف هذه الكتلة. يملك هذا التابع اسمًا بديلًا هو inspect. البنية العامة to_s → string القيم المعادة تُعاد سلسلةٌ نصيَّةٌ (string) تُمثِّل المُعرِّف الفريد للكتلة proc المعطاة بالإضافة إلى إشارة لمكان تعريف هذه الكتلة. انظر أيضًا التابع arity: يُعيد عدد الوسائط الإلزاميَّة في الكائن proc الذي استدعي معه. التابع binding: يُعيد الرَّبط الموافق للكائن Proc الذي استدعي معه. التابع curry: يُعيد كتلة proc مقسَّمة. التابع parameters: ...

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

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

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

يُعيد التابع curry كتلة proc مقسَّمة (curried). إذا أُعطي الوسيط arity الاختياري، فسيُحدِّد التابع عدد الوسائط آنذاك. تستقبل كتلة proc المقسَّمة بعض الوسائط. إذا زُوِّدت بعددٍ كافٍ من الوسائط، فستُمرِّر الوسائط المُزوَّدة إلى كتلة proc الأصلية وتُعيد النتيجة. خلاف ذلك، تُعيد كتلة proc مقسَّمةً أخرى لتأخذ باقي الوسائط. البنية العامة curry → a_proc curry(arity) → a_proc المعاملات arity وسيط اختياري يُعطى إذا أُريد من التابع تحديد عدد الوسائط. القيم المعادة تُعاد كتلة proc مقسَّمة، يُعاد عدد الوسائط إذا أعطي معامل arity ...

التابع 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, ...

التابع 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, ...

التابع InstructionSequence.of‎ في روبي

يُعيد التابع of سلسلة التعليمات التي تحوي الكائن Proc أو Method المعطى. البنية العامة of(p1) أمثلة مثال على استعمال التابع of باستخدام irb: # a proc > p = proc { num = 1 + 2 } > RubyVM::InstructionSequence.of(p) > #=> <RubyVM::InstructionSequence:block in irb_binding@(irb)> # for a method > def foo(bar); puts bar; end > RubyVM::InstructionSequence.of(method(:foo)) > #=> <RubyVM::InstructionSequence:foo@(irb)>‎ أو باستخدام compile_file: # /tmp/iseq_of.rb def hello puts "hello, world" end $a_global_proc = proc { str = 'a' + 'b' } # in irb > require '/tmp/iseq_of.rb' # first the method hello > RubyVM::InstructionSequence.of(method(:hello)) > #=> ...

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

يُعدُّ التابع inspect اسمًا بديلًا (alias) للتابع to_s. البنية العامة inspect() انظر أيضًا التابع to_s: يُعيد المُعرِّف الفريد لكتلة proc محدّدة بالتزامن مع إشارة لمكان تعريف هذه الكتلة. التابع arity: يُعيد عدد الوسائط الإلزاميَّة في الكائن proc الذي استدعي معه. التابع binding: يُعيد الرَّبط الموافق للكائن Proc الذي استدعي معه. مصادر صفحة التابع inspect في الصنف Proc في توثيق روبي الرسمي.

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

يضيف التابع add_trace_func عملية (كائنًا من النوع Proc) كمعالج للتعقب (tracing) إلى المهمة الفرعية التي استدعيت معه. انظر صفحتي التابعين set_trace_func و Kernel.set_trace_func لمزيد من المعلومات. البنية العامة add_trace_func(proc) → proc‎ المعاملات proc‎ كائن من النوع Proc. القيمة المعادة يعاد كائنٌ من النوع Proc. انظر أيضًا التابع alive?‎: يتحقق إن كانت المهمة الفرعية التي استُدعي معها قيد التشغيل أو نائمة. التابع Kernel.set_trace_func: يجعل المعامل المعطى كمعالج للتعقب، أو يعطل التعقب إن كان الوسيط يساوي nil. مصادر قسم التابع add_trace_func‎ في الصنف Thread‎ في ...

المعامل [] في الصنف 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, ...

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

يجعل التابع set_trace_func الكائن proc معالجًا للتعقب (handler for tracing) في المهمة الفرعية، أو يعطل التعقب إن كان مُرِّرت القيمة nil بدلًا من ذلك الكائن. البنية العامة set_trace_func(proc) → proc set_trace_func(nil) → nil‎ المعاملات proc‎ كائن من النوع Proc‎. القيمة المعادة يعاد كائنٌ من النوع Proc‎. انظر أيضًا التابع Kernel.set_trace_func: يجعل المعامل المعطى كمعالج للتعقب، أو يعطل التعقب إن كان الوسيط يساوي nil. الصنف Proc‎. مصادر قسم التابع set_trace_func‎ في الصنف Thread‎ في توثيق روبي الرسمي.

التابع Hash.default في روبي

يضبط التابع default عند استدعائه بالشكل default = obj القيمة الافتراضية obj وهي القيمة التي ستُعاد لمفتاح غير موجود في الكائن Hash. لا يستطيع هذا التابع ضبط القيمة الافتراضية للعملية Proc التي ستُنفَّذ عند كل بحث عن مفتاح غير موجود. البنية العامة default = obj → obj القيمة المعادة تعاد القيمة الافتراضية obj التي ستُعاد لمفتاح غير موجود في الكائن Hash المعطى بعد تعيينها. أمثلة مثال على استعمال التابع default: h = { "a" => 100, "b" => 200 } h.default = ...

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

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

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

يكافي التابع proc التعبير Proc.new. البنية العامة proc{ |...| block } → a_proc‎ القيمة المعادة يعاد كائن جديد من النوع Proc. انظر أيضا انظر صفحة الصنف Proc. مصادر قسم التابع proc‎ في الصنف Kernel‎ في توثيق روبي الرسمي.

التابع InstructionSequence.disasm‎ في روبي

يأخذ التابع disasm كائنًا يمكن أن يكون من النوع Method أو من النوع Proc ويعيد سلسلة نصية تعليمات قابلة للقراءة لهذا المعامل المعطى. البنية العامة disasm(body) → str disassemble(body) → str‎ المعاملات body‎ كائن من النوع Method أو من النوع Proc. القيمة المعادة تعاد سلسلة نصية تحوي المعامل body على هيئة تعليمات قابلة للقراءة. أمثلة مثال على استخدام التابع disasm‎ مع تمرير الكائن Method إليه: # /tmp/method.rb def hello puts "hello, world" end puts RubyVM::InstructionSequence.disasm(method(:hello)) الناتج سيكون: == disasm: <RubyVM::InstructionSequence:hello@/tmp/method.rb>============ 0000 trace ...

التابع InstructionSequence.disassemble‎ في روبي

يأخذ التابع disassemble المعامل body، والذي سيكون إما كائنًا من النوع Method، أو من النوع Proc، ثم يُعيد سلسلة نصية تحوي هذا المعامل على هيئة تعليمات قابلة للقراءة. البنية العامة disasm(body) → str disassemble(body) → str‎ المعاملات body‎ كائن من النوع Method أو من النوع Proc. القيمة المعادة تعاد سلسلة نصية تحوي محتوى المعامل body على هيئة تعليمات قابلة للقراءة. أمثلة مثال على استخدام التابع disassemble‎ مع كائن من النوع Method: # /tmp/method.rb def hello puts "hello, world" end puts RubyVM::InstructionSequence.disasm(method(:hello))‎ الناتج سيكون: == disasm: ...

الوحدة ObjectSpace في روبي

تحتوي الوحدة ObjectSpace على مجموعةٍ من البرامج الفرعيَّة (routines) التي تتفاعل مع وسائل جمع المهملات وتسمح لك باجتياز جميع الكائنات النشطة مع مُكرَّر (iterator). تقدِّم الوحدة ObjectSpace الدَّعم أيضًا لمُنهِيَات كائنٍ (object finalizers) وكتل procs التي تُستدعى عندما يكون كائنٌ محدَّدٌ على وشك أن يُدمَّر عبر مجمِّع المهملات. require 'objspace' a = "A" b = "B" ObjectSpace.define_finalizer(a, proc {|id| puts "Finalizer one on #{id}" }) ObjectSpace.define_finalizer(b, proc {|id| puts "Finalizer two on #{id}" }) ينتج عن تطبيق المثال السابق: Finalizer two on 537763470 Finalizer one on ...

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

يستدعي المعامل === كتلة التابع مع تمرير الكائن الواقع على يمينه كوسيط إلى المعامل الواقع على يساره كما هو الحال في Proc.call. هذا يَسمح لكائنٍ من النوع proc أن يكون هدفًا للكتلة when في التعليمة case. البنية العامة proc === obj→ result_of_proc‎ القيمة المعادة تعاد نتيجة الوسيط proc. انظر أيضا التابع ==: يتحقق من تساوي كائنين من النوع Method. مصادر قسم التابع ===‎ في الصنف Method‎ في توثيق روبي الرسمي.

التابع Symbol.to_proc‎ في روبي

يعيد التابع to_proc كائنًا من النوع Proc، والذي يستجيب للتابع المعطى من قبل الرمز. البنية العامة to_proc‎ القيمة المعادة يعاد كائنٌ من النوع Proc. أمثلة مثال على استخدام التابع to_proc‎: (1..3).collect(&:to_s) #=> ["1", "2", "3"]‎ انظر أيضًا التابع to_s: يعيد الاسم أو السلسلة نصية التي تمثل الرمز مصادر قسم التابع to_proc‎ في الصنف Symbol‎ في توثيق روبي الرسمي.

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

يعيد التابع to_proc الكائن Proc المقابل للكائن Method الذي استُدعي معه. البنية العامة to_proc → proc‎ القيمة المعادة يعاد كائنٌ من النوع Proc الذي يقابل الكائن Method المعطى. انظر أيضا التابع super_method: يعيد كائنًا من النوع Method للصنف الأب (superclass) للكائن Method الذي استدعي معه. التابع to_s: يعيد اسم التابع الأصلي (underlying method). مصادر قسم التابع to_proc‎ في الصنف Method‎ في توثيق روبي الرسمي.

التابع Marshal.restore‎ في روبي

يعيد التابع restore نتيجة تحويل البيانات المُسلسلة (serialized) في المصدر إلى كائن روبي (ربما مع كائنات ثانوية [subordinate objects] مرتبطة به). قد يكون المصدر إما كائنًا من الصنف IO، أو كائنًا يستجيب إلى التابع to_str. في حال تمرير المعامل، فسيتم تمرير كل الكائنات إليه أثناء فك تسلسلها (deserialisation). تنبيه: لا تمرّر أبدًا إلى التابع restore بيانات غير موثوقة (بما في ذلك المدخلات التي يرسلها المستخدم). البنية العامة restore( source [, proc] ) → obj‎ المعاملات source‎ إمَّا كائنٌ من الصنف IO، أو كائنٌ يستجيب إلى التابع to_str يمثل المصدر. proc‎ ...

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

ينشئ التابع new مهمة فرعية جديدة تنفّذ الكتلة المعطاة. البنية العامة new { ... }→ thread new(*args, &proc)→ thread new(*args) { |args| ... } → thread‎ سيتم تمرير كل المعاملات args الممررة إلى التابع new إلى الكتلة. سيُطلق الاستثناء ThreadError إذا تم استدعاء new دون كتلة. إذا كنت ترغب باشتقاق صنف فرعي (subclass) من Thread، تأكد من استدعاء المتغير super داخل التابع initialize، وإلا سيُطلق الاستثناء ThreadError. المعاملات args‎ المعاملات التي يراد تمريرها إلى الكتلة. proc‎ كائن من النوع Proc. القيمة المعادة تعاد مهمة ...

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

يكافئ التابع lambda التعبير Proc.new، باستثناء أنّ الكائنات Proc الناتجة ستتحقق من عدد الوسائط الممررة عند استدعائها. البنية العامة lambda { |...| block } → a_proc‎ القيمة المعادة يعاد ناتج الاستدعاء Proc.new. انظر أيضا الصنف Proc. مصادر قسم التابع lambda‎ في الصنف Kernel‎ في توثيق روبي الرسمي.

التابع Marshal.load‎ في روبي

يعيد التابع load نتيجة تحويل البيانات المُسلسلة (serialized) في المصدر إلى كائن روبي (ربما مع كائنات ثانوية [subordinate objects] مرتبطة به). قد يكون المصدر إمَّا كائنًا من الصنف IO، أو كائنًا يستجيب إلى التابع to_str. في حال تمرير المعامل الثاني، فسيتم تمرير كل كائن من الكائنات إليه أثناء فك تسلسلها (deserialisation). تنبيه: لا تمرّر أبدًا إلى التابع load بيانات غير موثوقة (بما في ذلك المدخلات التي يرسلها المستخدم). البنية العامة load( source [, proc] ) → obj‎ المعاملات source‎ إمَّا كائنٌ من ...

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

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

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

يضبط (Controls) التابع trace_var تعقّبات (tracing) تعيين المتغيرات العامة. البنية العامة trace_var(symbol, cmd ) → nil trace_var(symbol) {|val| block } → nil‎ يحدد الوسيط المعطى symbol المتغير (إمَّا على شكل سلسلة نصية أو معرف رمز [symbol identifier]). يتم تنفيذ الأمر cmd (الذي قد يكون سلسلةً نصيةً أو كائن من النوع Proc أو كتلةً برمجيةً) كلما تم تعيين المتغير ثم تتلقى الكتلة أو الكائن Proc القيمة الجديدة للمتغير كوسيط. المعاملات symbol‎ يحدد المتغير. cmd‎ التعليمة المراد تنفيذها كلما تم تعيين المتغير. القيمة المعادة ...

الصنف 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 ...

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

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

التابع IO.close_on_exec=‎ في روبي

يعين التابع close_on_exec عند استدعائه بالشكل close_on_exec = bool قيمة الراية close-on-exec إلى القيمة bool المنطقية. تعيّن روبي الرايات close-on-exec لكل واصفات الملفات (file descriptors) افتراضيًا منذ الإصدار 2.0.0. لذلك، لا تحتاج إلى تعيينها بنفسك. أضف إلى ذلك أنَّه قد يؤدي عدم ضبط الراية close-on-exec إلى حدوث تسرب لواصف الملف إن استخدمت مهمة فرعية أخرى التابعين ‎fork()‎ و exec()‎ (عبر التابع system()‎ على سبيل المثال). إن كنت بحاجة إلى توريث واصف الملفات في عملية فرعية (child process)، فاستخدم وسيط التابع spawn()‎ ...

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

يحول التابع at_exit  الكتلة البرمجية المعطاة إلى كائن من النوع Proc (وبالتالي يربطه في لحظة الاستدعاء) ويسجله لأجل تنفيذه عند نهاية البرنامج. في حالة تسجيل عدة معالجات (handlers)، فستٌنفّذ بترتيب معاكس لتسجيلها. البنية العامة at_exit { block } → proc‎ القيمة المعادة يعاد كائن من النوع Proc. أمثلة مثال على استخدام التابع at_exit‎: def do_at_exit(str1) at_exit { print str1 } end at_exit { puts "cruel world" } do_at_exit("goodbye ") exit الناتج: goodbye cruel world انظر أيضا التابع abort: ينهي التنفيذ على الفور عبر استدعاء Kernel.exit(false)‎. ...

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

يبدأ التابع exit عملية إنهاء البرنامج في روبي، عن طريق إطلاق استثناء SystemExit. من الممكن التقاط هذا الاستثناء. begin exit puts "never get here" rescue SystemExit puts "rescued a SystemExit exception" end puts "after begin block" ينتج عند تنفيذه: rescued a SystemExit exception after begin block‎ قبل الإنهاء مباشرة، تنفذ روبي كل التوابع والكتل المرتبطة بالشيفرة عبر التابع at_exit، وتنفِّذ كل الكائنات المُنهيَة (object finalizers، راجع ObjectSpace.define_finalizer). at_exit { puts "at_exit function" } ObjectSpace.define_finalizer("string", proc { puts "in finalizer" }) exit ينتج عند تنفيذ الشيفرة: ...

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

يمثل الصنف InstructionSequence تسلسلًا مصرّفًا (compiled sequence) للتعليمات الخاصة بالآلة الافتراضية (Virtual Machine) لروبي. يمكّنك هذا الصنف من الحصول على مؤشر (handle) للتعليمات التي تشكل التابع أو الكتلة البرمجية، وتصريف (compile) سلاسل روبي النصية إلى تعليمات الآلة الافتراضية (VM)، وتفكيك التعليمات إلى سلاسل نصية لتسهيل فحصها. هذا الصنف مفيد للغاية إن كنت ترغب في معرفة كيفية عمل آلة روبي الافتراضية، لكنه يتيح لك أيضًا التحكم في إعدادات المُصرِّف iseq لروبي. يمكنك العثور على مصدر إرشادات الآلة الافتراضية في الصفحة insns.defفي ...

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

يُطلق الاستثناء SecurityError عند محاولة تنفيذ عملية قد تكون غير آمنة؛ عادةً، يطلق عندما يُرفع مستوى ‎$SAFE  فوق 0: foo = "bar" proc = Proc.new do $SAFE = 3 foo.untaint end proc.call سيطلق الاستثناء SecurityError بالشكل التالي عند تنفيذ هذه الشيفرة: SecurityError: Insecure: Insecure operation `untaint' at level 3 مصادر صفحة الصنف SecurityError في توثيق روبي الرسمي.

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

يعيد التابع to_s اسم التابع الأصلي (underlying method). البنية العامة to_s→ string‎ القيمة المعادة تعاد سلسلة نصية تمثِّل اسم التابع الأصلي. أمثلة مثال على استخدام التابع to_s‎: "cat".method(:count).inspect #=> "#<Method: String#count>"‎ انظر أيضا التابع to_proc: يعيد الكائنً Proc المقابل للكائن Method الذي استدعي معه. التابع unbind: يفك ارتباط الكائن Method من مُستقبِله (receiver) الحالي. مصادر قسم التابع to_s‎ في الصنف Method‎ في توثيق روبي الرسمي.

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

يعيد التابع super_method كائنًا من النوع Method للصنف الأب (superclass) للكائن Method الذي استدعي معه لاستدعائه عند استخدام super، أو يعيد nil إن لم يكن هناك تابع في الصنف الأب. البنية العامة super_method → method‎ القيمة المعادة يعاد كائن من النوع Method للصنف الأب للكائن Method المعطى، أو تعاد القيمة nil إن لم يكن هناك تابع في الصنف الأب. انظر أيضا التابع source_location: يعيد اسم الملف المصدر لروبي ورقم السطر الذي يحتوي هذا التابع، التابع to_proc: يعيد كائنًا من النوع Proc المقابل ...

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

يُعيد التابع safe_level المستوى الآمن للمهمة الفرعية. يمكن أن يساعد تعيين مستويات الأمان المحلية في المهمة الفرعية (thread-local safe levels) عند تنفيذ أكواد برمجية غير آمنة. البنية العامة safe_level→ integer‎ القيمة المعادة يعاد عدد صحيح يمثل المستوى الآمن للمهمة الفرعية. أمثلة مثال على استخدام التابع safe_level‎: thr = Thread.new { $SAFE = 1; sleep } Thread.current.safe_level #=> 0 thr.safe_level #=> 1‎ انظر أيضًا التابع set_trace_func: يجعل الكائن proc معالجًا ...

التابع InstructionSequence.absolute_path‎ في روبي

يُعيد التابع absolute_path المسار المطلق لسلسلة التعليمات المعطاة، أو يعيد القيمة nil إذا تم تقييم سلسلة التعليمات التي استُدعي معها انطلاقًا من سلسلة نصية. البنية العامة absolute_path() القيمة المُعادة يُعيد التابع absolute_path المسار المطلق لسلسلة التعليمات. أمثلة مثال على استعمال التابع absolute_path مع استخدام التابع compile_file: # /tmp/method.rb def hello puts "hello, world" end # in irb > iseq = RubyVM::InstructionSequence.compile_file('/tmp/method.rb') > iseq.absolute_path #=> /tmp/method.rb‎ انظر أيضًا التابع of: يُعيد سلسلة التعليمات التي تحوي الكائن Proc أو Method المعطى. التابع base_label: يُعيد التسمية الأساسية (base label) لسلسلة التعليمات ...

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

يضيف التابع define_finalizer كتلة aProc كمُنهِي (finalizer) ليُستدعى بعد تدمير الكائن. يُمرَّر معرِّف الكائن كوسيطٍ إلى الكتلة aProc. إذا كانت aProc تمثِّل تعبير lambda أو تابعًا، فتأكد أنَّه يمكن استدعائها بوسيطٍ واحد. البنية العامة define_finalizer(obj, aProc=proc()) المعاملات obj الكائن المراد إضافة تابع الإنهاء إليه. aProc يمثِّل هذا المعامل تعبير lambda أو تابعًا. انظر أيضًا التابع id2ref_: يُحوِل معرِّف الكائن إلى مرجعٍ للكائن. التابع count_objects: يُحصِي جميع الكائنات التي من نوعٍ واحد. التابع each_object: يستدعي كتلةً محدَّدةً مرةً لكل كائنٍ نشطٍ ...

التابع Hash.default_proc في روبي

يضبط التابع default_proc إن استدعي بالشكل default_proc = proc_obj القيمة الافتراضية للكتلة التي ستُنفَّذ عند فشل أية عملية بحث عن مفتاح للكائن Hash المعطى. البنية العامة default_proc = proc_obj or nil الأمثلة مثال على استعمال التابع default_proc: h.default_proc = proc do |hash, key| hash[key] = key + key end h[2] #=> 4 h["cat"] #=> "catcat" انظر أيضا التابع new: ينشئ التابع new جدول Hash جديد فارغ ثم يعيده. التابع default: يضبط عند استدعائه بالشكل default = obj القيمة الافتراضية obj ...

التابع Hash.default_proc في روبي

يعيد التابع default_proc الكتلة التي استُدعي التابع new معها عند إنشاء الكائن Hash المعطى، وإلا سيُعيد القيمة nil. البنية العامة default_proc → anObject المعاملات القيمة المعادة تعاد الكتلة التي استُدعي التابع new معها عند إنشاء الكائن Hash المعطى، وإلا فستُعاد القيمة nil. أمثلة مثال على استعمال التابع default_proc: h = Hash.new {|h,k| h[k] = k*k } #=> {} p = h.default_proc #=> #<Proc:0x401b3d08@-:1> a = ...

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

ينهي التابع abort تنفيذ العملية على الفور عبر استدعاء Kernel.exit(false)‎. في حال تمرير رسالة إلى التابع، فستُكتَب في المجرى STDERR قبل الإنهاء. البنية العامة abort Kernel::abort([msg]) abort([msg])‎ المعاملات msg الرسالة التي ستُكتب في المجرى STDERR. انظر أيضا التابع at_exit: يحول الكتلة البرمجية المعطاة إلى كائن من النوع Proc ويسجله لأجل تنفيذه عند نهاية البرنامج. مصادر قسم التابع abort‎ في الصنف Kernel‎ في توثيق روبي الرسمي.

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