نتائج البحث

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

الصنف 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، فيجب أن ترى ...

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

يُطلق الاستثناء NotImplementedError عند عدم توفّر ميزة (feature) على نظام التشغيل الحالي. على سبيل المثال، قد تُطلِق التوابع التي تعتمد على استدعاء دالتي النظام fsync أو fork هذا الاستثناء إن كانتا غير مدعومتين على نظام التشغيل أو بيئة تشغيل روبي آنذاك. لاحظ أنه إن أطلقت الدالة fork الاستثناء NotImplementedError، فسيعيد التابع respond_to?(:fork)‎  القيمة false. مصادر قسم الصنف NotImplementedError في توثيق روبي الرسمي.

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

يمثل الصنف Integer الأعداد الصحيحة. لا يمكن إضافة تابع أحادي (singleton method) إلى كائن من الصنف Integer، وأي محاولة لفعل ذلك ستؤدي إلى إطلاق الخطأ TypeError. الثوابت (Constants) GMP_VERSION يمثِّل النسخة GMP المُحمّلة. توابع الصنف العامة (Public Class Methods) sqrt يعيد التابع sqrt‎ الجذر التربيعي الصحيح للعدد الصحيح الموجب المُمرر إليه. توابع الكائن العامة (Public Instance Methods) % يعيد المعامل %‎ باقي عملية القسمة الصحيحة بين عددين. & ينفذ المعامل & العملية AND بين بتات العددين المعطيين. * يعيد المعامل *‎ ناتج عملية الضرب بين عددين. ** يعيد المعامل **‎ ناتج ...

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

تُغلِّف كائنات الصنف Binding سياق التنفيذ (execution context) في مكان معين في الشيفرة البرمجية، وتحتفظ بذلك السياق لاستخدامه مستقبلًا. يُحتفَظ بالمتغيرات، والتوابع، وقيمة self، وربما كتلة المكرر (iterator block) وكل ما يمكن الوصول إليه في هذا السياق. يمكن إنشاء كائنات الصنف Binding باستخدام التابع Kernel.binding، واستدعاؤها بوساطة التابع Kernel.set_trace_func. يمكن تمرير كائنات الربط (binding objects) هذه كوسيط ثانٍ للتابع Kernel.eval لإنشاء بيئة للتقييم (evaluation). class Demo def initialize(n) @secret = n end def get_binding ...

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

يُطلق الاستثناء SystemExit في حال امتلاء المُكدس (stack overflow). def me_myself_and_i me_myself_and_i end me_myself_and_i عند تنفيذ هذه الشيفرة، سيُطلق استثناء بالشكل التالي: SystemStackError: stack level too deep مصادر صفحة الصنف SystemStackError في توثيق روبي الرسمي.

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

يُعدُّ استخدام الصنف Struct طريقةً ملائمةً لتجميع مجموعة من الخاصيات (attributes) معًا، باستخدام مداخل (accessor methods) دون الحاجة إلى كتابة صنف جديد. يُنشئ الصنف Struct أصنافًا فرعيةً (subclasses) جديدةً تحمل مجموعة من الأعضاء مقرونة بقيمها. لكل عضو يتم إنشاء قارئ (reader method) وكاتب (writer method) مشابهين للتابع Module.attr_accessor. Customer = Struct.new(:name, :address) do def greeting "Hello #{name}!" end end dave = Customer.new("Dave", "123 Main") dave.name #=> "Dave" dave.greeting #=> "Hello Dave!"‎ راجع صفحة التابع new ...

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

تُضمَّن الوحدة Kernel من طرف الصنف Object، لذلك فتوابعها متاحة في كل كائنات روبي. توابع نسخ الصنف Kernel مُوثّقة في صفحة الصنف Object، أما توابع الوحدة Kernel فهي مُوثقة هنا. تستدعى هذه التوابع بدون مستقبل (receiver)، وبالتالي يمكن استدعاؤها وفق الشكل الدالي: sprintf "%.1f", 1.234 #=> "1.2" توابع الصنف العامة (Public Class Methods) Array يعيد المعامل الممرَّر إليه على شكل مصفوفة (Array). Complex يعيد ناتج التعبير x + i * y؛ حيث i هو الوحدة التخيلية للعدد العقدي. Float Hash يعيد ناتج التعبير x + ...

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

تمثِّل كائنات الصنف Float أعدادًا حقيقيةً غير دقيقة (inexact real numbers) باستخدام التمثيل العشري ذي الدقة المضاعفة للبنية الأصلية. للمنازل العشرية حساب مختلف وهو عدد غير دقيق، لذا يجب معرفة نظامها الخاص. نقترخ عليك الاطلاع على الصفحات التالية: ما هي الأشياء التي يجب أن يعرفها كل عالم حاسوب عن الأعداد العشرية. لماذا الأعداد العشرية في روبي غير دقيقة؟ مشاكل في الدقة. الثوابت DIG الحد الأدنى لعدد الأرقام العشرية ذات الدلالة في المنازل العشرية المزدوجة الدقة. وعادةً ما تكون قيمته الافتراضية ...

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

يُطلق الاستثناء NoMemoryError عند الفشل في حجز جزءٍ من الذاكرة. مصادر قسم الصنف NoMemoryError في توثيق روبي الرسمي.

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

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

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

يُطلق الاستثناء LoadError عند فشل تحميل الملف المطلوب (شيفرة روبي، مكتبة ملحقة، ...إلخ.). require 'this/file/does/not/exist' الشيفرة أعلاه ستطلق الاستثناء التالي: LoadError: no such file to load -- this/file/does/not/exist تمثل الخاصية path مسار الملف الذي فشلت روبي في تحميله. مصادر قسم الصنف LoadError في توثيق روبي الرسمي.

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

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

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

يُطلق الخطأ LocalJumpError عندما لا تتمكن روبي من الإعادة (yield) كما هو مطلوب. يحدث هذا مثلًا، عند محاولة الإعادة (yield) في غياب أية كتلة برمجية. def call_block yield 42 end call_block تطلق الشيفرة أعلاه الاستثناء التالي: LocalJumpError: no block given (yield) توابع الكائن العامة (Public Instance Methods) exit_value يعيد قيمة الخروج المرتبطة بالاستثناء LocalJumpError. reason يعيد سبب إنهاء الكتلة البرمجية: ‎ :breakأو ‎:redo أو ‎:retry أو ‎:next أو ‎ :returnأو ‎:noreason. مصادر قسم الصنف LocalJumpError في توثيق روبي الرسمي.

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

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

يعتبر الصنف SystemCallError الصنف الأب لكل أصناف الأخطاء منخفضة المستوى المرتبطة بنظام التشغيل. الأخطاء المتوفرة على نظام التشغيل الحالي هي أصناف فرعية من الصنف SystemCallErrorـ وهي مُعرّفة في الوحدة Errno. File.open("does/not/exist")‎ عند تنفيذ هذا السطر البرمجي، سيطلق استثناء بالشكل التالي: Errno::ENOENT: No such file or directory - does/not/exist‎ توابع الصنف العامة (Public Class Methods) === يتحقق إن كان الاستثناء الذي استُدعي معه كائنًا عامًا من الصنف SystemCallError، أو إن كان رقما الخطأ الخاصين بهذا الاستثناء والاستثناء الآخر المعطى متساويين. new ...

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

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

يُطلق الاستثناء ZeroDivisionErro عند محاولة تقسيم عدد على 0. 42 / 0 #=> ZeroDivisionError: divided by 0 لاحظ أنه لن يُطلق هذا الاستثناء إلا عند محاولة القسمة على العدد صفر بالضبط (أي القيمة 0 وليس 0.0 مثلًا). اطلع على المثال التالي الذي يشرح ذلك: 42 / 0.0 #=> Float::INFINITY 42 / -0.0 #=> -Float::INFINITY 0 / 0.0 #=> NaN مصادر صفحة الصنف ZeroDivisionErro في توثيق روبي الرسمي.

الصنف 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 في توثيق روبي الرسمي.

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

يرمى الاستثناء ZeroDivisionError عند محاولة تقسيم عدد صحيح على الصفر. 42 / 0 #=> ZeroDivisionError: divided by 0 لاحظ أنَّ القسمة على القيمة 0 بالضبط (وليس القيمة 0.0 أو 0.0- مثلًا) سيؤدي إلى رمي الاستثناء ZeroDivisionError فقط. إليك المثال التالي: 42 / 0.0 #=> Float::INFINITY 42 / -0.0 #=> -Float::INFINITY 0 / 0.0 #=> NaN مصادر صفحة الصنف ZeroDivisionError في توثيق روبي الرسمي.

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

الصنف ScriptError هو الصنف الأب (superclass) لأصناف الأخطاء التي تُطلق عندما لا يمكن تنفيذ الشيفرة بسبب إحدى الأخطاء التالية: LoadError أو NotImplementedError أو SyntaxError. لاحظ أنَّ النوع ScriptError من أخطاء ليست قياسية (أي ليست من الأخطاء StandardError)، ولن تتم معالجتها ما لم يتم تحديدها بشكل صريح (أو تحديد صنفها الأب Exception). مصادر صفحة الصنف ScriptError في توثيق روبي الرسمي.

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