نتائج البحث

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

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

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

يمكن تمثيل عدد جذري (rational) كزوج من الأعداد الصحيحة بالشكل a / b‎ حيث b > 0؛ العدد a يمثل البسط، والعدد b يمثل المقام. من الناحية الرياضية، العدد الصحيح a يساوي العدد الجذري a / 1. في روبي، ​​يمكنك إنشاء الكائنات (الأعداد) الجذرية باستخدام التوابع Kernel.Rational أو to_r أو rationalize، أو عن طريق إضافة المُبدِّل r إلى عددٍ. ستكون القيم المعادة كسورًا غير قابلة للاختزال (irreducible fractions). Rational(1) #=> (1/1) Rational(2, 3) #=> ...

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

يُطلق الاستثناء Interrupt عند استقبال إشارة المقاطعة (interrupt signal)، عادةً لأن المستخدم ضغط على Ctrl-C (على معظم منصات POSIX). وعلى هذا النحو، فهو صنف فرعي من SignalException. begin puts "Press ctrl-C when you get bored" loop {} rescue Interrupt => e puts "Note: You will typically use Signal.trap instead." end ستُنتج عند تنفيذها: Press ctrl-C when you get bored ثم انتظر إلى أن يُقاطع بالضغط على Ctrl-C، وحينها ستطبع المخرجات التالية: Note: You will typically use Signal.trap instead. مصادر قسم الصنف ...

الصنف 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 يعيد قائمة بأسماء المتغيرات المحلية المُعرّفة حيث أُطلٍق ...

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

المهام الفرعية (Threads، وتدعى "الخيوط" أيضًا) هي الطريقة التي تنفذ بها روبي البرمجة المتزامنة (concurrent programming). البرامج التي تتطلب تنفيذ عدة مهام فرعية يمكنها استخدام الصنف Thread. على سبيل المثال، يمكننا إنشاء مهمة فرعية جديدة منفصلة عن المهمة الرئيسية باستخدام التابع new. thr = Thread.new { puts "Whats the big deal" }‎ ثم يمكننا إيقاف تنفيذ المهمة الفرعية الرئيسية مؤقتًا إلى حين إنتهاء المهمة الفرعية خاصتنا باستخدام التابع join: thr.join #=> "Whats the big deal"‎ في حال عدم استدعاء التابع join قبل ...

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

يُطلق الاستثناء fatal عندما تصادف روبي خطأ فادحًا (fatal error) بحيث يتوجب عليها إنهاء البرنامج فورًا، لأنه لا يمكن معالجة هذا الاستثناء. مصادر صفحة الصنف fatal في توثيق روبي الرسمي.

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

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

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

يمثل الصنف Encoding ترميز المحارف الذي يمكننا استخدامه في لغة روبي. تُعرَّف النّسخة المنشأة من الصنف Encoding بأنّها ثابتٌ (constant) يندرج ضمن مجال أسماء الصنف (encoding namespace)؛ يكون لها اسم، واسم بديل (Alias) اختياري. Encoding::ISO_8859_1.name #=> "ISO-8859-1" Encoding::ISO_8859_1.names #=> ["ISO-8859-1", "ISO8859-1"] التّوابع (methods) في لغة روبي التي تتعامل مع التّرميزات تعيد أو تقبل النسخ Encoding على شكل وسيط (عندما يقبل التّابع كائنًا على شكل وسيط، يمكن عندها أن نستخدم اسم أو لقب الترميز عوضًا عن الكائن). "some string".encoding #=> #<Encoding:UTF-8> string = "some string".encode(Encoding::ISO_8859_1) #=> "some string" string.encoding #=> ...

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

السلاسل النصية (string) هي سلسلة تحتوي على حرف واحد أو أكثر وقد تحتوي على حروف أبجدية، مثل أرقام ورموز، ويكون كل حرف (أو رمز أو رقم) ممثلاً ببايت. السلاسل النصية في لغة البرمجة روبي عبارة عن كائنات (Objects)، وعلى عكس لغات البرمجة الأخرى، فإن النصوص قابلة للتغيير (Mutable) والتي تعني أننا نستطيع تعديل النصوص بدلًا من إنشاء نصوص جديدة. علامتا الاقتباس المزدوجتين والمفردتين يتم إنشاء السلاسل النصية (string) في لغة روبي باستعمال علامات الاقتباس المزدوجة (مثل "string") أو المفردة (مثل ...

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

تمثل كائنات الصنف Symbol أسماء وسلاسل نصية داخل مترجم (interpreter) روبي. يمكن إنشاؤها باستخدام الصياغتين الحرفيتين ‎:name و ‎:"string"‎، أو بواسطة التوابع to_sym. سيتم إنشاء نفس الرمز (نفس الكائن Symbol) لاسم أو سلسلة نصية معينة طوال مدة تنفيذ البرنامج، بغض النظر عن السياق أو معنى هذا الاسم. وبالتالي، إن كان Fred ثابتًا في سياق معيّن، وتابعًا في سياق آخر، وصنفًا في سياق ثالث، فسيكون الرمز Symbol :Fred نفس الكائن في جميع السياقات الثلاث. module One class Fred end ...

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

يُطلق الاستثناء RangeError عند إعطاء تعبير نمطي غير صالح. إذا نفَّذنا السطر البرمجي التالي: Regexp.new("?") فسيُطلَق الاستثناء RangeError بالشكل التالي: RegexpError: target of repeat operator is not specified: /?/ مصادر صفحة الصنف RegexpError في توثيق روبي الرسمي.

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

الصنف IO هو أساس كل عمليات الإدخال والإخراج في روبي. مجرى الدخل/الخرج (I/O stream) قد يكون مزدوج الاتجاه (duplexed، أي في اتجاهين)، وبذلك قد يُستخدَم أكثر من مجرى واحد من مجاري نظام التشغيل. الكثير من الأمثلة الواردة في في هذا القسم تستخدم الصنف File، وهو االصنف الفرعي (subclass) القياسي الوحيد للصنف IO، إذ يرتبط الصنفان ارتباطًا وثيقًا. مثل الصنف File، فإنّ المكتبة Socket تشتق أصنافًا فرعيةً من الصنف IO (مثل TCPSocket أو UDPSocket). يمكن أن ينشئ التابع Kernel.open كائنات من ...

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

يمثل الصنف RubyVM الآلة الافتراضية (VM، اختصار إلى virtual machine). الثوابت DEFAULT_PARAMS يعرض هذا الثابت معاملات الآلة الافتراضية (VM) الأولية (default). لاحظ أنّ تغيير تلك القيم لا يؤثر على طريقة تشغيل الآلة الافتراضية. المواصفات ليست مستقرة، ويجب أن لا تعتمد على هذه القيمة. INSTRUCTION_NAMES يمثِّل هذا الثابت أسماء التعليمات. OPTS يحتوي هذا الثابت على خيارات الآلة الافتراضية (vm). توابع الصنف العامة stat يعيد كائنًا من النوع Hash يحوي عدادات مُخصصة (implementation-dependent counters) داخل الآلة الافتراضية (VM). مصادر صفحة الصنف RubyVM في توثيق روبي الرسمي. ...

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

يُطلق الاستثناء SystemExit من قبل التعليمة exit لبدء عملية إنهاء الشيفرة البرمجية. توابع الصنف العامة new يُنشئ استثناءً جديدًا من النوع SystemExit مع تحديد حالة ورسالة الاستثناء. توابع النسخة العامة status يعيد قيمة الحالة المرتبطة بالكائن SystemExit الذي استُدعي معه. success?‎ يتحقق من نجاح عملية الإنهاء. مصادر صفحة الصنف SystemExit في توثيق روبي الرسمي.

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

الصنف MatchData هو نوع المتغير الخاص ‎$~‎ ، كما أنه نوع الكائنات المُعادة من Regexp.match و Regexp.last_match. فهو يغلف ويستوعب جميع نتائج التطابق مع تعبير نمطي. يمكن الوصول إلى النتائج من خلال المتغيرات الخاصة ‎$&‎ و ‎$'‎ و $ و ‎$`‎ و ‎$1 و ‎$2 وهكذا دواليك. توابع الصنف العامة (Public Class Methods) == يتحقق المعامل == من تطابق كائنان من النوع matchdata إذا كانت السلاسل النصية المستهدفة منهما، والأنماط ومواضع المُطابقة متماثلة. [] تتصرف الكائنات MatchData كمصفوفة، لذا يمكن الوصول إليها باستخدام تقنيات ...

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

يُطلق الاستثناء IOError عند فشل عملية إدخال/إخراج (IO operation) في روبي. File.open("/etc/hosts") {|f| f << "example"} #=> IOError: not opened for writing File.open("/etc/hosts") {|f| f.close; f.read } #=> IOError: closed stream تذكر أنَّ فشل بعض عمليات الإدخال/الإخراج قد يؤدي إلى إطلاق الاستثناء SystemCallError، وهذا الاستثناء ليس متفرع من الصنف IOError. File.open("does/not/exist") #=> Errno::ENOENT: No such file or directory - does/not/exist مصادر صفحة الصنف IOError في توثيق روبي الرسمي.

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

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

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

يًطللق الاستثناء SignalException عند تلقي إشارة ما. begin Process.kill('HUP',Process.pid) sleep # wait for receiver to handle signal sent by Process.kill rescue SignalException => e puts "received Exception #{e}" end ‎ سيُنتج عن تنفيذ هذه الشيفرة ما يلي: received Exception SIGHUP توابع الصنف العامة new ينشئ كائنًا جديدًا من النوع SignalException. توابع النسخة العامة signo يعيد رقم إشارة. مصادر صفحة الصنف SignalException في توثيق روبي الرسمي.

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

يرمى الاستثناء FloatDomainError عند محاولة تحويل قيم عشرية خاصة (مثل القيمة Infinity أو NaN على وجه الخصوص) إلى أصناف رقمية لا تدعمها. Float::INFINITY.to_r #=> FloatDomainError: Infinity مصادر صفحة الصنف FloatDomainError في توثيق روبي الرسمي.

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

يُطلق الاستثناء SecurityError لوقف عملية التكرار (iteration)، خصوصًا عبر التابع Enumerator.next. يُعالج هذا الاستثناء بالتابع Kernel.loop. loop do puts "Hello" raise StopIteration puts "World" end puts "Done!" سيُنتج: Hello Done! توابع النسخة العامة result يعيد القيمة المعادة من المُكرر (iterator). مصادر صفحة الصنف StopIteration في توثيق روبي الرسمي.

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

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

يُطلق الاستثناء UncaughtThrowError عندما يتم استدعاء throw مع وسم (tag) لا يحتوي على الكتلة catch المقابلة. throw "foo", "bar"‎ عند تنفيذ هذا السطر من الشيفرة، يطلق استثناء بالشكل: UncaughtThrowError: uncaught throw "foo"‎ توابع الصنف العامة new ينشئ كائنًا جديدًا من النوع UncaughtThrowError. توابع النسخة العامة tag يعيد كائن الوسم (tag object) الذي استُدعي معه. to_s يعيد رسالة منسقة تحتوي الوسم (tag). value يعيد القيمة المعادة من الوسم الذي استدعي معه. مصادر صفحة الصنف UncaughtThrowError في توثيق روبي الرسمي.

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

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

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

تسمح العديد من أنظمة التشغيل بإرسال إشارات إلى العمليات (processes) قيد التشغيل للتحكم بها. بعض الإشارات لها تأثير محدد على العملية، بينما تكون أخرى مرتبطة بالشيفرة البرمجية، وتتصرف بناء عليها. على سبيل المثال، قد تقوم العملية بإمساك (trap) الإشارة USR1 واستخدامها في عملية التنقيح (debugging)، أو قد تُستخدَم الإشارة TERM لبدء إيقاف تشغيل العملية بشكل مُراقَب. pid = fork do Signal.trap("USR1") do $debug = !$debug puts "Debug now: #$debug" end Signal.trap("TERM") ...

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

يمثل هذا الصنف طوابيرًا (queues) ذات أحجام سعة محددة. قد تُعطّل العملية push إن كانت السعة لطابور ما ممتلئة. راجع صفحة Queue للحصول على أمثلة حول كيفية عمل الصنف SizedQueue. توابع الصنف العامة new ينشئ طابورًا ذا طول ثابت. توابع النسخة العامة ‎<<‎ يضيف كائنات إلى الطابور المعطى.  clear يزيل كل الكائنات من الطابور. close يغلق الطابور الذي استدعي معه. deq هو اسم بديل للتابع pop. empty?‎ يتحقق إن كان الطابور فارغًا. enq هو اسم بديل للتابع push. length يعيد حجم الطابور ...

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

الصنف Enumerator هو صنفٌ يسمح بتنفيذ عملية التكرار الداخلي والخارجي على الكائنات. يمكن إنشاء كائنات من هذا الصنف باستعمال إحدى التوابع التالية: Kernel.to_enum، أو Kernel.enum_for، أو new. أغلب التوابع في هذا الصنف تملك شكلين هما: الشكل الكتلي (block form) الذي تقيَّم فيه المحتويات لكل عنصر في المجموعة التعدادية، والشكل الغير كتلي (non-block form) الذي يعيد كائنًا جديدًا من النوع Enumerator يغلِّف التكرار. enumerator = %w(one two three).each puts enumerator.class # => Enumerator enumerator.each_with_object("foo") do |item, obj| puts "#{obj}: #{item}" end # foo: one # ...

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

الصنف Time هو تجريد لمفهومي التاريخ والوقت. يتم تخزين Time داخليا كعدد الثواني (مع كسورها) منذ توقيت يونيكس (1 يناير 1970 00:00 بالتوقيت العالمي). انظر أيضًا الوحدة Date لمزيد من المعلومات. يعامِل الصنف Time توقيت جرينتش (GMT، اختصار للعبارة Greenwich Mean Time) والتوقيت العالمي الموحد (UTC، اختصار للعبارة Universal Time Coordinated) على أنهما متكافئان. توقيت جرينتش هو الطريقة الأقدم للإشارة إلى هذه الأوقات المرجعية، ولا تزال موجودة في أسماء الاستدعاءات على أنظمة POSIX. يمكن أن يكون لجميع الأوقات كسور. انتبه لهذا ...

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

يمكن استخدام الصنف Mutex وكائناته كواجهة لتنسيق الوصول إلى البيانات المشتركة من عدة خيوط (threads) موجودة وتعمل في نفس الوقت. إليك هذا المثال: semaphore = Mutex.new a = Thread.new { semaphore.synchronize { # access shared resource } } b = Thread.new { semaphore.synchronize { # access shared resource } } توابع الصنف العامة (Public Class Methods) new ينشئ كائنًا جديدًا من النوع Mutex. توابع النسخة العامة (Public Instance Methods) lock يحاول مسك القفل (grab ...

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

النوع Hash (أو الجدول Hash كما يطلق عليه أحيانًا) هو مجموعة تشبه القاموس ويتكون من مفاتيح فريدة وقيم مرتبطة بها. كما يسمى أيضًا المصفوفات الترابطية، فهو يشبه المصفوفات، ولكن بينما تستخدم المصفوفة فقط الأعداد الصحيحة كفهرس، يسمح النوع Hash باستخدام أيٍّ من أنواع الكائنات لاستعمالها كفهرس وربطها بقيمٍ. ترتَّب وتحصى القيم في النوع Hash بنفس الترتيب الذي أُدرِجت فيه مفاتيحها المقابلة. يمكن إنشاء جدول Hash بسهولة باستخدام شكله الصريح: grades = { "Jane Doe" => 10, "Jim Doe" => 6 ...

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

القيمة false العامة (global) هي النسخة الوحيدة من الصنف FalseClass وتمثِّل قيمة الخطأ (false) في التعابير المنطقية (boolean expressions). يوفر هذا الصنف معاملات تسمح للقيمة false بالمساهمة بشكل صحيح في التعابير المنطقية. توابع الكائن العامة (Public Instance Methods) المعامل & يجري المعامل & العملية AND المنطقية بين القيمة false والكائن المعطى ثم يُعيد القيمة false. المعامل === يتحقق المعامل === من تساوي كائنين بشكل صارم. المعامل ^ يجري المعامل ^ العملية XOR المنطقية بين القيمة false وقيمة الكائن المعطى. inspect ...

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

يُطلق الاستثناء ArgumentError عندما تكون الوسائط (arguments) غير صالحة، ولا يكون هناك صنف Exception أكثر تحديدًا. تفحَّص المثال التالي الذي يشرح حالة تمرير عدد غير مناسب من الوسائط: [1, 2, 3].first(4, 5) سيُطلق عند تنفيذ هذه الشيفرة الاستثناء ArgumentError: ArgumentError: wrong number of arguments (given 2, expected 1) أما المثال التالي، فيشرح حالة تمرير وسيط غير مقبول: [1, 2, 3].first(-4) سيُطلق عند تنفيذ هذه الشيفرة الاستثناء ArgumentError: ArgumentError: negative array size مصادر صفحة ArgumentError في التوثيق الرسمي للغة ruby

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

يُطلق الخطأ IndexError عندما يكون الفهرس (index) المُعطى غير صالح. a = [:foo, :bar] a.fetch(0) #=> :foo a[4] #=> nil a.fetch(4) #=> IndexError: index 4 outside of array bounds: -2...2 مصادر صفحة الصنف IndexError في توثيق روبي الرسمي.

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

يُطلق الاستثناء KeyError عندما لا يكون المفتاح (key) المُحدد موجودًا، وهو صنف فرعي من IndexError. h = {"foo" => :bar} h.fetch("foo") #=> :bar h.fetch("baz") #=> KeyError: key not found: "baz" توابع الكائن العامة (Public Instance Methods) key يعيد المفتاح الذي تسبب في رمي الخطأ KeyError. receiver يعيد المتلقي (receiver) المقترن بالاستثناء KeyError. مصادر قسم الصنف KeyError في توثيق روبي الرسمي.

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

القيمة العامة true هي النسخة (instance) الوحيدة من الصنف TrueClass، وتمثل القيمة المنطقية true في التعابير المنطقية. يوفر هذا الصنف عدة معاملات تسمح باستخدام القيمة true في التعبيرات المنطقية. توابع النسخة العامة & يجري العملية AND المنطقية على القيمة true وقيمة الكائن المعطى، ويُعيد القيمة false إن كان الكائن يساوي nil أو false. === يتحقق من تساوي كائن مع كائن آخر. ^ يجري العملية XOR المنطقية على القيمة true وقيمة الكائن المعطى ويعيد القيمة true إن كان الكائن يساوي nil ...

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

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

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

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

يعدُّ الصنف Object الجذر الافتراضي لكل كائنات روبي. يَرِث الصنف Object من الصنف BasicObject ما يسمح بإنشاء تسلسلات هرمية بديلة للكائن. تُتاح توابع الكائن لكل الأصناف ما لم يتم تجاهلها (overridden) صراحةً. تندمج الوحدة Kernel ضمن الصنف Object ما يعطي الوصول العام (global) للدّوال المبنية ضمنيًّا في الوحدة. رغم أنَّ توابع النسخة المنشأة من الصنف Object معرَّفةٌ عن طريق الوحدة Kernel، رأينا أن نوثّقهم هنا لمزيد من الوضوح. عند الإشارة (referencing) إلى الثوابت في الأصناف الوارثة من الصنف Object، لا ...

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

يُطلق الاستثناء RuntimeError عند محاولة تنفيذ عملية غير صالحة. في حال عدم تحديد صنف الاستثناء Exception، سيُطلق الاستثناء Kernel.raise. الشيفرة التالية: raise "ouch" ستطلق الاستثناء RuntimeError بالشكل التالي: RuntimeError: ouch مصادر صفحة الصنف RuntimeError في توثيق روبي الرسمي.

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

يشبه الصنف ENV الجداول Hash كثيرًا ويُستعمل للوصول إلى متغيرات البيئة. توابع الصنف العامة (Public Class Methods) [] يعيد هذا المعامل قيمة متغير بيئة محدَّد في سلسلة نصية، أو يعيد القيمة nil في حال لم يكن ذلك المتغير موجودًا. [] يضبط هذا المعامل عندما يُستعمَل بالشكل ENV[name] = value‎ قيمة متغير البيئة ذي الاسمname إلى القيمة value. إذا كانت القيمة value المعطاة تساوي nil، فسيُحذَف متغير البيئة ذاك. assoc يعيد مصفوفةً تحوي اسم وقيمة متغير بيئة ذي اسم محدَّد، أو يعيد القيمة nil في حال لم يكن ذلك المتغير موجودًا. clear يحذف ...

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

يُطلق الاستثناء TypeError عند استقبال كائن من غير النوع المتوقع. [1, 2, 3].first("two") عند تنفيذ هذه الشيفرة، سيُطلق الاستثناء TypeError بالشكل التالي: TypeError: no implicit conversion of String into Integer مصادر صفحة الصنف TypeError في توثيق روبي الرسمي.

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

يٌطلَق الخطأ EOFError من طرف بعض عمليات الصنف IO عندما تصل إلى نهاية الملف. تنقسم أغلب توابع الصنف IO -فيما يتعلق بالوصول إلى نهاية الملف- إلى قسمين: الأول يعيد القيمة nil عند الوصول إلى نهاية الملف، والآخر يطلق الخطأ EOFError عند الوصول إلى نهاية الملف. الصنف EOFError هو صنف فرعي من الصنف IOError. file = File.open("/etc/hosts") file.read file.gets #=> nil file.readline #=> EOFError: الوصول إلى نهاية الملف مصادر الصنف EOFError في توثيق روبي الرسمي.

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

يمثل الصنف Range مجالًا (مجموعة) من القيم لها بداية ونهاية. يمكن إنشاء المجالات باستخدام الصياغة الحرفية بالشكل s..e و s...e ، أو باستخدام التابع الباني new. المجالات المُنشأة باستخدام الصياغة .. تشمل عنصري البداية والنهاية. أما تلك المُنشأة باستخدام الصياغة ... فلن تشمل قيمة النهاية. عند استخدامها كمكرر (iterator)، ستعيد المجالات كل قيمها بالتتابع. (-1..-5).to_a #=> [] (-5..-1).to_a #=> [-5, -4, -3, -2, -1] ('a'..'e').to_a #=> ["a", "b", "c", ...

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

يوفر الصنف ThreadGroup وسيلة لتتبع عددٍ من الخيوط (threads) باستمرار وكأنهم مجموعة واحدة. يمكن أن يكون الخيط Thread في مجموعة خيوط ThreadGroup واحدة على الأكثر فقط. وإضافة هذا الخيوط إلى مجموعة جديدة يؤدي إلى إزالته من أية مجموعة أضيف إليها سابقًا. الخيوط المنشأة حديثًا تنتمي إلى المجموعة نفسها التي أُنشِئَت هذه الخيوط منها. الثوابت Default المجموعة ThreadGroup الافتراضية التي تُنشَأ عند بدء روبي. تنتمي جميع الخيوط لهذه المجموعة بشكل افتراضي. توابع النسخة العامة add يضيف الخيط المُمرَّر إليه إلى مجموعة ...

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

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

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

كائنات الصنف Dir هي مجاري مجلدات (directory streams) تمثِّل الجلدات في نظام الملفات الأساسي لنظام التشغيل. فهي توفر طرائق متعددة لعرض المجلدات ومحتوياتها. انظر أيضًا صفحة الصنف File لمزيد من المعلومات. يحوي المجلد المستخدم في الأمثلة الموجودة في صفحات التوابع ملفين عاديين هما: config.h و main.rb، بالإضافة إلى المجلد الأب (..) ، والمجلد نفسه (.). توابع الصنف العامة (Public Class Methods) المعامل [] يكافئ استدعاء Dir.glob([string,...], 0)‎.  chdir‎ يغيِّر مجلد العمل (working directory) الحالي للعملية الحالية إلى مجلَّدٍ محدَّدٍ. children ...

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

يُطلق الاستثناء ThreadError في حال محاولة تنفيذ عملية غير صالحة في مهمة فرعية. على سبيل المثال، في حال لم تبدأ مهمة فرعية أخرى مثل ما هو موضح في الشيفرة التالية: Thread.stop سيطلق استثناء بالشكل التالي: ThreadError: stopping only thread note: use sleep to stop forever مصادر صفحة الصنف ThreadError في توثيق روبي الرسمي.

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

المصفوفات هي مجموعات مُرتَّبة ومُفهرسة بالأعداد الصحيحة (integer-indexed) ومُكونة من أي نوع من الكائنات. تبدأ فهارس المصفوفات بالعدد 0، كما هو الحال في لغتي C و Java. ويفترض أن يُحسب الفهرس السالب بدءًا من نهاية المصفوفة، أي أنَّ الفهرس ذا القيمة ‎-1 يشير إلى العنصر الأخير في المصفوفة، والفهرس ‎-2 يمثل موضع العنصر ما قبل الأخير، وهلم جرًا. إنشاء المصفوفات يمكن إنشاء مصفوفة جديدة باستخدام المعامل [] الباني. يمكن أن تحتوي المصفوفة نفسها على أنواع مختلفة من الكائنات. على سبيل ...

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

يمكن تمثيل الأعداد العقدية (تُسمّى أيضًا أعدادًا مركبةً [complex number]) كزوج مكون من عدد حقيقي ووحدة تخلية (العدد i) وفق الشكل a+bi، إذ a هو الجزء الحقيقي، و b هو الجزء التخيلي و i هو الوحدة الخيالية. العدد الحقيقي a يساوي العدد العقدي a+0i حسابيًا. يمكن إنشاء الأعداد العقدية بطريقة حرفية، وأيضا باستخدام التوابع Kernel.Complex أو  ‏‎::rect أو ‏‎::polar أو ‎.to_c. إليك الأمثلة التالية: 2+1i #=> (2+1i) Complex(1) ...

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

معظم أخطاء الأنواع تنحدر من الصنف StandardError؛ ستُعالج الكتلة rescue التي لا تحدد الصنف Exception بشكل صريح كل الأخطاء StandardError (دون غيرها). def foo raise "Oups" end foo rescue "Hello" #=> "Hello" الشيفرة التالية: require 'does/not/exist' rescue "Hi" ستطلق استثناء بالشكل التالي: LoadError: no such file to load -- does/not/exist مصادر صفحة الصنف StandardError في توثيق روبي الرسمي.

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

يزوِّد الصنف Random واجهةً لمولِّد أعدادٍ شبه عشوائيَّةٍ (pseudo-random number generator، أو يُدعى PRNG) في روبي. يُنتج مولِّد الأرقام شبه العشوائيَّة (PRNG) سلاسل محدَّدةً من البِتات تقارب العشوائيَّة الحقيقية. يمكن أن تمثِّل هذه السلاسل أعدادًا صحيحيةً (integers)، أو أعدادًا عشريةً (floats)، أو سلاسل نصيَّة ثنائيَّة (binary strings). يُهيَّأ هذا المولِّد ببذرة تعطى (seed) إمَّا من قبل النظام (system-generated) أو من قبل المستخدم (user-supplied) عبر استخدام التابع srand. يوفر تابع الصنف rand الوظيفة القاعديَّة للتابع Kernel.rand بالترافق مع معالجةٍ أفضل للقيم ...

الصنف ‎:not()‎

الصنف الزائف ‎:not()‎ في CSS (أي pseudo-class) يُمثِّل العناصر التي لا تُطابِق مُحدِّدًا أو أكثر، يسمى هذا الصنف أيضًا بصنف النفي الزائف (negation pseudo-class). هذا المُحدِّد يُحدِّد أيّة عناصر ليست <p>: :not(p) { color: blue; } ملاحظات: يمكن كتابة مُحدِّدات ليس لها فائدة، مثل ‎:not(*)‎ التي تُطابِق أيّ عنصر ليس عنصرًا، أي أنَّ هذا المُحدِّد لن يُطبَّق أبدًا. يمكن أن يزيد هذا الصنف من درجة التحديد للقاعدة، فمثلًا المُحدِّد ‎#foo:not(#bar)‎ يؤدي إلى مطابقة ما يطابقه ‎#foo لكن بدرجة تحديد أكبر. المُحدِّد ...

المعامل >> في الصنف Queue في روبي

يعدُّ المعامل >> اسمًا بديلًا للتابع push. البنية العامة <<(p1) المعاملات p1 الكائن المراد إضافته إلى الطابور المعطى. انظر أيضًا التابع push: يضيف الكائن المُمرَّر إليه إلى الطابور المعطى. التابع clear : يحذف كل الكائنات من الطابور الذي استُدعي معه. التابع length : يعيد طول الطابور الذي استُدعي معه. مصادر صفحة التابع >> في الصنف queue في توثيق روبي الرسمي.

المعامل >> في الصنف IO‎ في روبي

يكتب المعامل >> كائنًا في المجرى IO المعطى. يُحول ذلك الكائن إلى سلسلة نصية باستخدام التابع to_s. البنية العامة ios << obj → ios‎ القيمة المعادة يعاد المجرى ios بعد كتابة الكائن obj فيه. أمثلة مثال على استخدام التابع ‎<<‎: $stdout << "Hello " << "world!\n"‎ انظر أيضًا التابع write: يفتح ملفًا محدَّدًا ويكتب فيه السلسلة النصية المُمرَّرة إليه ثم يغلقه ويعيد عدد البايتات التي كتبها. مصادر قسم المعامل >> في الصنف IO‎ في توثيق روبي الرسمي.

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

يتحقق المعامل ==‎ من تساوي كائنين. عمومًا، يُعاد تعريف هذا التابع في الأصناف السليلة (descendant classes) بما يتناسب مع تلك الأصناف. خلافًا للمعامل ==، يجب ألا يُعاد تعريف التابع equal?‎ من قِبل الأصناف الفرعية، إذ يُستخدم آنذاك لتحديد هوية الكائن (أي يستعمل بالشكل a.equal?(b)‎ لتحديد إذا وفقط إذا كان الكائن a هو نفسه الكائن b [انظر المثال في الأسفل]). يعمل التابع eql?‎ على التحقق إذا كان الكائن الذي استُدعي معه والكائن الذي مُرّر إليه هما نفس الكائن أو يشيران إلى ...

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

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

الصنف Encoding::InvalidByteSequenceError في روبي

يُرمَى الاستنثناء InvalidByteSequenceError من قبل توابع الصّنفين String و Encoding عندما تحوي السّلسلة النّصية التي يجري تحويل ترميزها بايتًا غير صالح إما للتّرميز المصدر أو التّرميز الهدف المراد التحويل إليه. توابع الكائن العامة (Public Instance Methods) destination_encoding يُعيد التّرميز الهدف. destination_encoding_name يُعيد اسم الترميز الهدف. error_bytes يعيد البايتات التي أهملت عندما وقع الخطأ InvalidByteSequenceError. ?incomplete_input يتحقّق فيما إذا كان خطأ تسلسل البايت (byte sequence error) الحاصل ناتجًا عن إنهاءٍ مُبكِّرٍ للسّلسلة النّصية. readagain_bytes يعُيد البايتات المراد قراءتها مجدّدًا عندما يقع ...

الصنف Random::Formatter في روبي

توابع النسخة العامة rand random_number مصادر صفحة الوحدة Random::Formatter في توثيق روبي الرسمي.

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

يتحقق المعامل === من تساوي كائنين بشكل صارم. يشبه هذا المعامل فعليًا الاستدعاء ‎#==‎ الخاص بالصنف Object، ولكنه استُبدِل في الأصناف السليلة (descendants) -من ذلك الصنف- لتوفير دلالة واضحة وذات معنى خصوصًا في العبارات case. البنية العامة obj === other → true or false المعاملات obj الكائن المراد التحقق من تساويه مع الكائن other. other الكائن الآخر الذي سيُتحقَق من تساويه مع الكائن obj. القيم المعادة تُعاد القيمة true إذا كان الكائنان متساويين بشكل صارم (أي في القيمة والنوع). خلاف ...

المعامل ! في الصنف BasicObject في روبي

يعكس المعامل ‎! القيمة المنطقية التي تستعمل معه. البنية العامة !obj → true or false القيم المعادة تعاد قيمة منطقية معاكسة للقيمة المعطاة. أمثلة بعض الأمثلة على استخدام المعامل ‎!: temperature = 76 if !(temperature < 65 || temperature > 85) puts "Picnic time!" else puts "Sorry, no picnic today." end انظر أيضًا المعامل ==: يتحقق‎ من تساوي كائنين. المعامل ‎!=‎‎: يتحقق‎ من عدم تساوي كائنين. مصادر قسم المعامل ‎! في الصنف BasicObject في توثيق روبي الرسمي.

الصنف Encoding::ConverterNotFoundError في روبي

يُرمى الاستثناء ConverterNotFoundError من قبل توابع تبديل التّرميز (transcoding) عندما لا يتوافق ترميزٌ باسمٍ معيّنٍ مع محوّلٍ (converter) محدَّد. انظر أيضًا الاستثناء CompatibilityError: يُرمى عندما لا يتوافق التّرميز المصدر مع التّرميز الهدف. الاستثناء InvalidByteSequenceError: يُرمى عندما تحوي السّلسلة النّصية التي بُدِّل ترميزها على بايت غير صالح إما للتّرميز المصدر أو التّرميز الهدف. الاستثناء UndefinedConversionError: يُرمى عندما تفشل عملية تبديل التّرميز. مصادر صفحة الصنف Encoding::ConverterNotFoundError في توثيق روبي الرسمي.

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

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

الصنف Enumerator::Lazy في روبي

الصنف Enumerator::Lazy هو صنف يسمح بعملية التكرار - مثل الصنف Enumerator - ولكن بالنمط الكسول (lazy fashion). توابع الصنف العامة new ينشئ كائن تعداد جديد من النوع Enumerator::Lazy. توابع النسخة العامة chunk chunk_while collect collect_concat يعيد كائن تعداد جديد من النوع Lazy مع النتائج المتسلسلة الناتجة عن تنفيذ الكتلة المعطاة مرةً واحدةً لكل عنصر من عناصر الكائن Lazy الذي استدعي معه. drop drop_while enum_for يشبه التابع Kernel.to_enum باستثناء أنه يعيد مُعدِّدًا كسولًا (كائن من النوع Enumerator::Lazy). find_all flat_map يعيد كائن ...

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

يتحقَّق المعامل == من تساوي كائنين مع بعضهما بعضًا. استُبدِل هذا المعامل في الأصناف السليلة (descendants) لتوفير دلالاتٍ خاصّةٍ بالصنف. البنية العامة obj == other → true or false المعاملات obj الكائن المراد التحقق من تساويه مع الكائن other. other الكائن الآخر الذي سيُتحقَق من تساويه مع الكائن obj. القيم المعادة تُعاد القيمة true إذا كان obj وother هما نفس الكائن، خلاف ذلك تُعاد القيمة false. أمثلة مثالٌ عن استخدام المعامل ==: obj = "a" other = obj.dup obj == other ...

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

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

المعامل ‎!=‎ في الصنف BasicObject في روبي

يتحقق المعامل ‎!=‎ من عدم تساوي كائنين. البنية العامة obj != other → true or false القيم المعادة تعاد القيمة true إن لم يكن الكائن obj مساويًا للكائن other، أو تعاد القيمة false خلاف ذلك. أمثلة مثال على استخدام المعامل ‎!=‎: puts 14 != 16 # => true puts 14 != 14 # => false انظر أيضًا المعامل ==: يتحقق‎ من تساوي كائنين. المعامل !‎: يعكس القيمة المنطقية التي تستعمل معه. مصادر قسم ...

الصنف Encoding::ConverterNotFoundError في روبي

يُرمى الاستثناء ConverterNotFoundError من قبل توابع تبديل التّرميز (transcoding) عندما لا يتوافق ترميزٌ باسمٍ معيّنٍ مع محوّلٍ (converter) محدَّد. انظر أيضًا الاستثناء CompatibilityError: يُرمى عندما لا يتوافق التّرميز المصدر مع التّرميز الهدف. الاستثناء InvalidByteSequenceError: يُرمى عندما تحوي السّلسلة النّصية التي بُدِّل ترميزها على بايت غير صالح إما للتّرميز المصدر أو التّرميز الهدف. الاستثناء UndefinedConversionError: يُرمى عندما تفشل عملية تبديل التّرميز. مصادر صفحة الصنف Encoding::ConverterNotFoundError في توثيق روبي الرسمي.

المعامل ‎~!‎ في الصنف Object‎ في روبي

يتحقق المعامل !~ من عدم تساوي كائنين (باستخدام التابع =~). البنية العامة obj !~ other → true or false المعاملات obj الكائن المراد التحقق من عدم تساويه مع الكائن other. other الكائن الآخر الذي سيُتحقَق من عدم تساويه مع الكائن obj. القيم المعادة تُعاد القيمة true إذا لم يتساوى الكائنين obj و other، أو تعاد القيمة false خلاف ذلك. انظر أيضًا المعامل <=>: يتحقق من تساوي كائنين بين بعضهما بعضًا. المعامل ===: يتحقق من تساوي كائنين بشكل صارم. المعامل ~=: ...

الصنف Warning::buffer في روبي

توابع النسخة العامة write مصادر صفحة الصنف Warning::buffer في توثيق روبي الرسمي.

الصنف Math::DomainError في روبي

يُطلَق الخطأ DomainError عند محاولة تقييم دالة رياضية خارج مجال تعريفها. على سبيل المثال، بما أنَّ القيم التي تعيدها الدالة cos تكون في المجال ‏‎-1...1، فإنّ دالتها العكسية acos مُعرفة على ذلك المجال: Math.acos(42) سيعطي عند تنفيذه الناتج التالي: Math::DomainError: Numerical argument is out of domain - "acos" انظر أيضا الصنف Math. مصادر قسم الصنف DomainError في الصنف Math‎ في توثيق روبي الرسمي.

المعامل ^ في الصنف FalseClass في روبي

يجري المعامل ^ العملية XOR المنطقية بين القيمة false وقيمة الكائن المعطى. البنية العامة false ^ obj → true or false nil ^ obj → true or false المعاملات obj الكائن الذي ستطبق عليه العملية XOR مع القيمة false. القيم المعادة تُعاد القيمة false عندما تساوي قيمة الكائن obj القيمة nil أو false فقط، أو تعاد القيمة true خلاف ذلك. انظر أيضا المعامل &: يجري العملية AND المنطقية بين القيمة false والكائن المعطى ثم يُعيد القيمة false. المعامل ===: يتحقق من ...

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

يتحقق المعامل === من تساوي كائنين بشكل صارم. يشبه هذا المعامل فعليًا الاستدعاء ‎#==‎ الخاص بالصنف Object، ولكنه استُبدِل في الأصناف السليلة (descendants) -من ذلك الصنف- لتوفير دلالة واضحة وذات معنى خصوصًا في العبارات case. البنية العامة obj === other → true or false المعاملات obj الكائن المراد التحقق من تساويه مع الكائن other. other الكائن الآخر الذي سيُتحقَق من تساويه مع الكائن obj. القيم المعادة تُعاد القيمة true إذا كان الكائنان متساويين بشكل صارم (أي في القيمة والنوع). خلاف ...

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

الصنف Process::Waiter في روبي

توابع النسخة العامة pid مصادر صفحة الصنف Process::Waiter في توثيق روبي الرسمي.

الصنف Encoding::InvalidByteSequenceError في روبي

يُرمَى الاستنثناء InvalidByteSequenceError من قبل توابع الصّنفين String و Encoding عندما تحوي السّلسلة النّصية التي يجري تحويل ترميزها بايتًا غير صالح إما للتّرميز المصدر أو التّرميز الهدف المراد التحويل إليه. توابع الكائن العامة (Public Instance Methods) destination_encoding يُعيد التّرميز الهدف. destination_encoding_name يُعيد اسم الترميز الهدف. error_bytes يعيد البايتات التي أهملت عندما وقع الخطأ InvalidByteSequenceError. ?incomplete_input يتحقّق فيما إذا كان خطأ تسلسل البايت (byte sequence error) الحاصل ناتجًا عن إنهاءٍ مُبكِّرٍ للسّلسلة النّصية. readagain_bytes يعُيد البايتات المراد قراءتها مجدّدًا عندما يقع ...

المعامل <=> في الصنف Object‎ في روبي

يتحقق المعامل <=> من تساوي كائنين بين بعضهما بعضًا (يشبه المعامل ==). يُستخدَم من قبل عدّة توابعٍ لموازنة كائناتٍ مثل Enumerable.sort، و Enumerable.max، ...الخ. يجب أن يعيد تنفيذ المعامل <=> إحدى القيم التالية: -1، أو 0، أو 1، أو nil. القيمة -1 تعني أنَّ القيمة الأولى الواقعة على يسار المعامل أصغر من القيمة الأخرىالواقعه على يمينه. والقيمة 0 تشير إلى أنَّ القيمتين متساويتان، والقيمة 1 تشير إلى أنَّ القيمة الواقعه على يساره أكبر من القيمة الواقعة على يمينه. أخيرًا، تعني ...

المعامل & في الصنف FalseClass في روبي

يجري المعامل & العملية AND المنطقية بين القيمة false والكائن المعطى ثم يُعيد القيمة false. يُقيَّم الكائن obj دائمًا كوسيطٍ مُرِّر إلى تابع عند استدعائه. ليس هنالك اختبارٌ لوجود «دارة قصيرة» (short-circuit) في هذه الحالة. البنية العامة false & obj → false nil & obj → false المعاملات obj الكائن الذي سيُجمع منطقيًّا مع false أو nil. القيم المعادة تعاد القيمة false. انظر أيضا المعامل ===: يتحقق من تساوي كائنين بشكل صارم. المعامل ^: يجري العملية XOR المنطقية بين القيمة false ...

المعامل ~= في الصنف Object‎ في روبي

يتحقّق المعامل ~= من تطابق نمطي كائنين (Pattern Match). استُبدِل في الأصناف السليلة (descendants، خاصةً الصنفين Regexp و String) لتوفير دلالاتِ مطابقةِ نمطٍ واضحةٍ وذات معنى. البنية العامة obj =~ other → nil المعاملات obj الكائن المراد التحقق من تطابق نمطه مع الكائن other. other الكائن الآخر الذي سيُتحقَق من تطابق نمطه مع الكائن obj. القيم المعادة تُعاد القيمة العدمية nil إذا كان لكل كائن من الكائنين obj و ohter نمطًا مختلفًا. انظر أيضًا المعامل ~!: يتحقق من عدم تساوي ...

الصنف Encoding::UndefinedConversionError في روبي

يُرمَى الاستثناء UndefinedConversionError من قبل توابع الصّنفين String و Encoding عندما تفشل عملية تبديل التّرميز (transcoding). توابع الكائن العامة (Public Instance Methods) destination_encoding يُعيد الترميز الهدف على شكل كائن. destination_encoding_name يُعيد اسم التّرميز الهدف. error_char يُعيد سلسلة نصية تحوي المحرف الذي أدى إلى رمي الاستثناء UndefinedConversionError. source_encoding يعيد الترميز المصدر على شكل كائن. لاحظ أنَّ التّرميز المصدري النّاتج قد لا يكون مطابقًا لترميز محوّل الترميز المصدري إذا تمّت عملية التّحويل على عدّة مراحل. source_encoding_name يُعيد اسم الترميز المصدر. مصادر صفحة ...

الصنف File::Stat في روبي

تتضمن كائنات الصنف File::Stat معلومات حول حالة الكائنات File. تُسجَل هذه المعلومات في الوقت الذي يُنشَأ فيه الكائن File::Stat؛ لذا، لن يُحدَّث هذا الكائن بالحالة الجديدة إن أجري أي تعديل على الملف بعد هذه النقطة من الزمن. تعاد الكائنات File::Stat باستدعاء IO.stat، و File.stat، و File.lstat، و File::stat، و File::lstat. تعيد أغلب هذه التوابع قيمًا تتعلق بالمنصة المستعملة، وليست جميع القيم ذات معنًى في كل أنظمة التشغيل. اطلع على التابع Kernel.test. توابع الصنف العامة new ينشئ كائنًا جديدًا من النوع ...

الصنف Encoding::CompatibilityError في روبي

يُرمى الاستثناء CompatibilityError من قبل توابع الصّنفين String و Encoding عندما لا يتوافق ترميز المصدر مع ترميز الهدف. انظر أيضًا الاستثناء ConverterNotFoundError: يُرمى عندما لا يتوافق ترميزٌ باسمٍ معيّنٍ مع محوّلٍ محدَّد. الاستثناء InvalidByteSequenceError: يُرمى عندما تحوي السّلسلة النّصية التي بُدِّل ترميزها على بايت غير صالح إما للتّرميز المصدر أو التّرميز الهدف. الاستثناء UndefinedConversionError: يُرمى عندما تفشل عملية تبديل التّرميز. مصادر صفحة الصنف Encoding::CompatibilityError في توثيق روبي الرسمي.

الصنف Encoding::Converter في روبي

يُستعمَل الصنف Encoding::Converter في عمليات تحويل الترميز في السلاسل النصية. الثوابت AFTER_OUTPUT يوقف الثّابت AFTER_OUTPUT عمليّة التحويل بعد اكتمال جزءٍ من الخَرج (output) ولكن قبل استهلاكِ كلّ المدخلات (input). انتقل إلى صفحة التابع primitive_convert للاطلاع على مثال. CRLF_NEWLINE_DECORATOR يمثّل الثابت CRLF_NEWLINE_DECORATOR مُزخرِف (decorator) يُحوِّل من LF إلى CRLF. CR_NEWLINE_DECORATOR يمثّل الثابت CR_NEWLINE_DECORATOR مُزخرِف (decorator) يُحوِّل من LF إلى CR. INVALID_MASK يمثِّل الثابت INVALID_MASK قناعًا (mask) لسلاسل البايت غير الصالحة (invalid byte sequences). INVALID_REPLACE يستبدل الثّابت INVALID_REPLACE سلاسل البايت غير الصالحة. ...

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