نتائج البحث

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

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

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

التابع ConditionVariable.signal في روبي

يوقظ التابع ‎signal أول مهمة فرعية من بين المهام الفرعية (threads) التي تنتظر قفلًا (lock) معيَّنًا. البنية العامة signal() انظر أيضًا التابع broadcast: يوقظ جميع المهام الفرعية (threads) التي تنتظر القفل (lock) المعيّن. التابع wait: يحرِّر القفل المطبَّق (held) على الكائن mutex وينتظر، ثمَّ يستعيد القفل عند الإستيقاظ. مصادر قسم التابع signal في الصنف ConditionVariable في توثيق روبي الرسمي.

التابع ?Process::Status.signaled في روبي

يتحقَّق التابع ?signaled إذا كانت الحالة stat للعملية تشير إلى أنَّها أُنهيت بسبب إشارةٍ غير ملتقطة (uncaught signal). البنية العامة signaled? → true or false القيم المعادة تُعاد القيمة true إذا كانت الحالة stat للعملية المعطاة تشير إلى أنَّها قد أُنهيت بسبب إشارةٍ غير ملتقطة؛ خلاف ذلك، تُعاد القيمة false. انظر أيضًا التابع ?coredump: يتحقَّق إذا كانت حالة العمليَّة قد ولَّدت تفريغًا للذاكرة عندما أُنهيت. التابع ?exited: يتحقَّق إذا كانت حالة العمليَّة stat قد أُنهيَت بشكلٍ طبيعي. التابع ?stopped: يتحقَّق ...

التابع ?Process::Status.signaled في روبي

يتحقَّق التابع ?signaled إذا كانت الحالة stat للعملية تشير إلى أنَّها أُنهيت بسبب إشارةٍ غير ملتقطة (uncaught signal). البنية العامة signaled? → true or false القيم المعادة تُعاد القيمة true إذا كانت الحالة stat للعملية المعطاة تشير إلى أنَّها قد أُنهيت بسبب إشارةٍ غير ملتقطة؛ خلاف ذلك، تُعاد القيمة false. انظر أيضًا التابع ?coredump: يتحقَّق إذا كانت حالة العمليَّة قد ولَّدت تفريغًا للذاكرة عندما أُنهيت. التابع ?exited: يتحقَّق إذا كانت حالة العمليَّة stat قد أُنهيَت بشكلٍ طبيعي. التابع ?stopped: يتحقَّق ...

التابع Signal.trap‎ في روبي

يربط التابع trap معالجًا بإشارة محدَّدة. البنية العامة trap( signal, command ) → obj trap( signal ) {| | block } → obj‎ يمثل المعامل signal اسم إشارة (سلسلة نصية مثل "SIGALRM" أو "SIGUSR1" وغير ذلك) أو رقم إشارة. يمكن حذف الأحرف "SIG" من اسم الإشارة. تحدد التعليمة command أو الكتلة block المعطاة الشيفرة أو الأوامر المراد تنفيذها عند إطلاق الإشارة. إذا كانت التعليمة تساوي السلسلة النصية "IGNORE" أو "SIG_IGN"، فسيتم تجاهل الإشارة. أما إذا كانت تساوي "DEFAULT" أو "SIG_DFL"، فسيُستدعَى معالج ...

التابع Process.kill في روبي

يرسل التابع kill إشارة محدَّدة إلى عملية ذات مُعرِّف معطى أو إلى جميع العمليات التي معرِّف المجموعة التي تملكه مساويًا إلى معرِّف المجموعة للعملية المستدعية. البنية العامة kill(signal, pid, ...) → integer المعاملات signal عدد صحيح يمثِّل رقم الإشارة أو سلسلة نصية تمثِّل اسم الإشارة بحسب POSIX (مع أو بدون السابقة SIG). إن كان عددًا صحيحًا موجبًا، إن كان عددًا سالبًا (يبدأ بإشارة الناقص)، فستُقتَل مجموعات العملية (process groups) بدلًا من العمليات. ليست جميع الإشارات مدعومة على كل المنصات. مفاتيح وقيم ...

 التابع ConditionVariable.wait في روبي

يحرِّر التابع ‎wait القفل المطبَّق (held) على الكائن mutex وينتظر، ثمَّ يستعيد القفل عند الإستيقاظ. في حال تمرير الوسيط timeout (انظُر فقرة البنية العامة)، يُعيِد هذا التابع بعد مرور timeout ثانية، حتى في حال عدم الإشارة (signal) من خيط آخر (thread). البنية العامة wait(mutex, timeout=nil) المعاملات mutex كائنٌ من النوع Mutex. timeout يمثل عدد الثواني التي يجب أن ينتظرها التابع قبل الإعادة، قيمته الإفتراضية هي: nil. انظر أيضًا التابع signal: يوقظ أول مهمة فرعية من بين المهام الفرعية (threads) التي تنتظر القفل (lock) المعيّن.  ...

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

يحدد التابع trap معالج الإشارات (handling of signals). الوسيط الأول يمثل اسم إشارة (سلسلة نصية مثل "SIGALRM" أو "SIGUSR1" وغير ذلك) أو رقم إشارة. يمكن حذف الأحرف "SIG" من اسم الإشارة. تحدد التعليمة command أو الكتلة المعطاة الكود البرمجي المراد تشغيله عند إطلاق الإشارة. إذا كانت التعليمة تساوي السلسلة النصية "IGNORE" أو "SIG_IGN" ، فسيتم تجاهل الإشارة. أما إذا كانت تساوي "DEFAULT" أو "SIG_DFL" ، فسيُستدعى معالج روبي الافتراضي. لكن إذا كانت تساوي "EXIT" ، فستنهي الإشارة البرنامج النصي. إذا ...

التابع ConditionVariable.broadcast في روبي

يوقظ التابع ‎broadcast جميع المهام الفرعية (threads) التي تنتظر قفًلًا (lock) معيَّنًا. البنية العامة broadcast() انظر أيضًا التابع signal: يوقظ أول مهمة فرعية من بين المهام الفرعية (threads) التي تنتظر القفل (lock) المعيّن.  التابع wait: يحرِّر القفل المطبَّق (held) على الكائن mutex وينتظر، ثمَّ يستعيد القفل عند الإستيقاظ. مصادر قسم التابع broadcast‎ في الصنف ConditionVariable في توثيق روبي الرسمي.

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

الصنف 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. مصادر قسم الصنف ...

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

ينشئ التابع ‎new نسخة جديدة من الصنف ConditionVariable. البنية العامة new() القيمة المعادة تُعاد نسخةٌ جديدةٌ من الصنف ConditionVarialbe. أمثلة مثالٌ عن استخدام التابع ‎new: mutex = Mutex.new # => ConditionVarialbe سيعيد كائنا من الصنف انظر أيضًا التابع broadcast: يوقظ جميع المهام الفرعية (threads) التي تنتظر القفل (lock) المعيّن.  التابع signal: يوقظ أول مهمة فرعية من بين المهام الفرعية (threads) التي تنتظر القفل (lock) المعيّن. التابع wait: يحرِّر القفل المطبَّق (held) على الكائن mutex وينتظر، ثمَّ يستعيد القفل عند الإستيقاظ. ...

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

ينشئ التابع ‎new نسخة جديدة من الصنف ConditionVariable. البنية العامة new() القيمة المعادة تُعاد نسخةٌ جديدةٌ من الصنف ConditionVarialbe. أمثلة مثالٌ عن استخدام التابع ‎new: mutex = Mutex.new # => ConditionVarialbe سيعيد كائنا من الصنف انظر أيضًا التابع broadcast: يوقظ جميع المهام الفرعية (threads) التي تنتظر القفل (lock) المعيّن.  التابع signal: يوقظ أول مهمة فرعية من بين المهام الفرعية (threads) التي تنتظر القفل (lock) المعيّن. التابع wait: يحرِّر القفل المطبَّق (held) على الكائن mutex وينتظر، ثمَّ يستعيد القفل عند الإستيقاظ. ...

التابع ?Process::Status.exited في روبي

يتحقَّق التابع ?exited إذا كانت حالة العمليَّة stat قد أُنهيَت بشكلٍ طبيعي (مثل استخدام الاستدعاء ()exit لإنهاء البرنامج). البنية العامة exited? → true or false القيم المعادة تُعاد القيمة true إذا أُنهيَت الحالة stat  للعملية بشكلٍ طبيعي، خلاف ذلك تُعاد القيمة false. انظر أيضًا التابع ?coredump: يتحقَّق إذا كانت حالة العمليَّة قد ولَّدت تفريغًا للذاكرة عندما أُنهيت. التابع ?signaled: يتحقَّق إذا كانت الحالة stat للعملية تشير إلى أنَّها أُنهيت بسبب إشارةٍ غير ملتقطة. التابع ?stopped: يتحقَّق إذا كانت العمليَّة قد ...

التابع ?Process::Status.success في روبي

يتحقَّق التابع ?success إذا كانت حالة العملية stat تشير إلى أنَّها ناجحة. البنية العامة success? → true, false or nil القيم المعادة تُعاد القيمة true إذا كانت العمليَّة ناجحة، أو تُعاد القيمة  false إن لم تكن العملية ناجحة، أو تُعاد القيمة nil إذا لم يعيد التابع ?exited القيمة true. انظر أيضًا التابع ?coredump: يتحقَّق إذا كانت حالة العمليَّة قد ولَّدت تفريغًا للذاكرة عندما أُنهيت. التابع ?exited: يتحقَّق إذا كانت حالة العمليَّة stat قد أُنهيَت بشكلٍ طبيعي. التابع ?signaled: يتحقَّق إذا ...

التابع ?Process::Status.success في روبي

يتحقَّق التابع ?success إذا كانت حالة العملية stat تشير إلى أنَّها ناجحة. البنية العامة success? → true, false or nil القيم المعادة تُعاد القيمة true إذا كانت العمليَّة ناجحة، أو تُعاد القيمة  false إن لم تكن العملية ناجحة، أو تُعاد القيمة nil إذا لم يعيد التابع ?exited القيمة true. انظر أيضًا التابع ?coredump: يتحقَّق إذا كانت حالة العمليَّة قد ولَّدت تفريغًا للذاكرة عندما أُنهيت. التابع ?exited: يتحقَّق إذا كانت حالة العمليَّة stat قد أُنهيَت بشكلٍ طبيعي. التابع ?signaled: يتحقَّق إذا ...

التابع ?Process::Status.stopped في روبي

يتحقَّق التابع ?stopped إذا كانت العمليَّة قد أوقِفَت. يعيد التابع القيمة true فقط إذا ضُبطت الراية WUNTRACED في استدعاء wait الموافق. البنية العامة stopped? → true or false القيم المعادة تُعاد القيمة true إذا كان العمليَّة متوقِّفة، خلاف ذلك تُعاد القيمة false. انظر أيضًا التابع ?coredump: يتحقَّق إذا كانت حالة العمليَّة قد ولَّدت تفريغًا للذاكرة عندما أُنهيت. التابع ?exited: يتحقَّق إذا كانت حالة العمليَّة stat قد أُنهيَت بشكلٍ طبيعي. التابع ?signaled: يتحقَّق إذا كانت الحالة stat للعملية تشير إلى أنَّها ...

التابع ?Process::Status.exited في روبي

يتحقَّق التابع ?exited إذا كانت حالة العمليَّة stat قد أُنهيَت بشكلٍ طبيعي (مثل استخدام الاستدعاء ()exit لإنهاء البرنامج). البنية العامة exited? → true or false القيم المعادة تُعاد القيمة true إذا أُنهيَت الحالة stat  للعملية بشكلٍ طبيعي، خلاف ذلك تُعاد القيمة false. انظر أيضًا التابع ?coredump: يتحقَّق إذا كانت حالة العمليَّة قد ولَّدت تفريغًا للذاكرة عندما أُنهيت. التابع ?signaled: يتحقَّق إذا كانت الحالة stat للعملية تشير إلى أنَّها أُنهيت بسبب إشارةٍ غير ملتقطة. التابع ?stopped: يتحقَّق إذا كانت العمليَّة قد ...

التابع ?Process::Status.stopped في روبي

يتحقَّق التابع ?stopped إذا كانت العمليَّة قد أوقِفَت. يعيد التابع القيمة true فقط إذا ضُبطت الراية WUNTRACED في استدعاء wait الموافق. البنية العامة stopped? → true or false القيم المعادة تُعاد القيمة true إذا كان العمليَّة متوقِّفة، خلاف ذلك تُعاد القيمة false. انظر أيضًا التابع ?coredump: يتحقَّق إذا كانت حالة العمليَّة قد ولَّدت تفريغًا للذاكرة عندما أُنهيت. التابع ?exited: يتحقَّق إذا كانت حالة العمليَّة stat قد أُنهيَت بشكلٍ طبيعي. التابع ?signaled: يتحقَّق إذا كانت الحالة stat للعملية تشير إلى أنَّها ...

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

توسع كائنات الصنف ConditionVariable عمل الصنف Mutex. فمن الممكن باستخدام المتغيرات الشرطية إيقاف مهمة حرجة (critical section) في أثناء تنفيذها إلى حين إتاحة مورد ما. إليك المثال التالي: mutex = Mutex.new resource = ConditionVariable.new a = Thread.new { mutex.synchronize { # Thread 'a' now needs the resource resource.wait(mutex) # 'a' can now have the resource } } b = Thread.new { mutex.synchronize { ...

الوحدة Process::Status في روبي

تُغلِّف الوحدة Process::Status معلومات عن حالة عملية النظام النشطة أو المنتهية. يكون المتغيِّر ‎$?‎ المُضمَّن إمّا مساويًا للقيمة nil أو يكون كائنًا للوحدة Process::Status. fork { exit 99 } #=> 26557 Process.wait #=> 26557 $?.class #=> Process::Status $?.to_i #=> 25344 $? >> 8 #=> ...

الوحدة Process::Status في روبي

تُغلِّف الوحدة Process::Status معلومات عن حالة عملية النظام النشطة أو المنتهية. يكون المتغيِّر ‎$?‎ المُضمَّن إمّا مساويًا للقيمة nil أو يكون كائنًا للوحدة Process::Status. fork { exit 99 } #=> 26557 Process.wait #=> 26557 $?.class #=> Process::Status $?.to_i #=> 25344 $? >> 8 #=> ...

التابع ?Process::Status.coredump في روبي

يتحقَّق التابع ?coredump إذا كانت حالة العمليَّة قد ولَّدت تفريغًا للذاكرة (core dump أو memory dump) عندما أُنهيت. هذا التابع غيرُ متاحٍ على جميع المنصَّات. البنية العامة coredump? → true or false القيم المعادة تُعاد القيمة true إذا ولَّدت حالة العملية stat تفريغًا للذاكرة عند إنهاء أو مقاطعة العمليَّة؛ خلاف ذلك، تُعاد القيمة false. انظر أيضًا التابع ?exited: يتحقَّق إذا كانت حالة العمليَّة stat قد أُنهيَت بشكلٍ طبيعي. التابع ?signaled: يتحقَّق إذا كانت الحالة stat للعملية تشير إلى أنَّها أُنهيت ...

التابع ?Process::Status.coredump في روبي

يتحقَّق التابع ?coredump إذا كانت حالة العمليَّة قد ولَّدت تفريغًا للذاكرة (core dump أو memory dump) عندما أُنهيت. هذا التابع غيرُ متاحٍ على جميع المنصَّات. البنية العامة coredump? → true or false القيم المعادة تُعاد القيمة true إذا ولَّدت حالة العملية stat تفريغًا للذاكرة عند إنهاء أو مقاطعة العمليَّة؛ خلاف ذلك، تُعاد القيمة false. انظر أيضًا التابع ?exited: يتحقَّق إذا كانت حالة العمليَّة stat قد أُنهيَت بشكلٍ طبيعي. التابع ?signaled: يتحقَّق إذا كانت الحالة stat للعملية تشير إلى أنَّها أُنهيت ...

التابع Process::Status.termsig في روبي

يُعيد التابع termsig عدد الإشارات التي تسبَّبت في إنهاء العمليَّة (أو القيمة nil إذا لم تنهَ العمليَّة بواسطة إشارة غير ملتقطة [uncaught signal]). البنية العامة termsig → integer or nil القيم المعادة يُعاد عدد الإشارات التي تسبَّبت في إنهاء العمليَّة، أو تُعاد القيمة nil إذا لم تنهَ العمليَّة بواسطة إشارة غير ملتقطة. انظر أيضًا التابع exitstatus: يُعيد البِتَّات الثمانية الأقل أهمية للقيمة التي تعيدها الشيفرة وتخرج بها من الحالة stat. التابع pid: يُعيد معرِّف العملية (process ID) الذي يمثِّله كائن ...

التابع Process::Status.termsig في روبي

يُعيد التابع termsig عدد الإشارات التي تسبَّبت في إنهاء العمليَّة (أو القيمة nil إذا لم تنهَ العمليَّة بواسطة إشارة غير ملتقطة [uncaught signal]). البنية العامة termsig → integer or nil القيم المعادة يُعاد عدد الإشارات التي تسبَّبت في إنهاء العمليَّة، أو تُعاد القيمة nil إذا لم تنهَ العمليَّة بواسطة إشارة غير ملتقطة. انظر أيضًا التابع exitstatus: يُعيد البِتَّات الثمانية الأقل أهمية للقيمة التي تعيدها الشيفرة وتخرج بها من الحالة stat. التابع pid: يُعيد معرِّف العملية (process ID) الذي يمثِّله كائن ...

أصناف الثوابت المُتعدِّدة (Enum Classes) في لغة Kotlin

يتلخَّصُ الاستخدام الرئيسيّ لأصناف الثوابت المتعدَّدة في قدرتها على تعريف الاستخدام (implementing) للثوابت المتعدًّدة الحافظة للنوع (type-safe)، ويُصرَّح عنها بالشكل: enum class Direction { NORTH, SOUTH, WEST, EAST } إذ يُعدُّ كلُّ ثابتٍ فيها كائنًا (object)، ويُفصل فيما بينها بالفاصلة , . التهيئة (Initialization) لمّا كان كلّ ثابتٍ في صنف الثوابت المتعدِّدة (enum) يُعدُّ كائنًا فيمكن إجراء التهيئة كما يلي: enum class Color(val rgb: Int) { RED(0xFF0000), ...

العناقيد في Node.js

الاستقرار: 2-مستقر تعمل نسخةٌ واحدةٌ من Node.js في خيط (thread) واحد. للاستفادة من الأنظمة ذات الأنوية المتعدِّدة (multi-core)، سيضطر المستخدم حينها إلى تشغيل عنقود من عمليات Node.js لمعالجة الحمل. تسمح الوحدة cluster بإنشاء عمليات أبناء بسهولة تتشارك جميعها منافذ الخادم نفسها. const cluster = require('cluster'); const http = require('http'); const numCPUs = require('os').cpus().length; if (cluster.isMaster) { console.log(`Master ${process.pid} is running`); // (worker) تفريع مسار العمليات العاملة for (let i = 0; i < numCPUs; i++) { cluster.fork(); ...

التابع 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 فيمكن أن يكون ...

الإشارات في Bash

صفحة man للإشارات يحتوي نظامك على صفحة man بها كل الإشارات المتاحة، لكن قد يُفتح بطريقة مختلفة اعتمادًا على نظام تشغيلك، والطريقة التي ستجدها في أغلب أنظمة لينكس هي man 7 signal، لكن إن كنت في ريب من الأمر فحدد صفحة man والقسم الذي تريده بالضبط باستخدام أوامر مثل: man -k signal | grep list أو apropos signal | grep list ستجد أسماء الإشارات باستخدام kill -l. الإشارات إلى صدفة Bash الخاصة بك تتجاهل صدفة bash التفاعلية إشارتي SIGTERM و SIGQUIT في ...

Ruby/Topics

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

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

التابع Signal.signame‎ في روبي

يحول التابع signame رقم الإشارة إلى اسم الاسم المقابل لها. البنية العامة signame(signo) → string or nil‎ المعاملات signo‎ رقم الإشارة المراد معرفة اسمها. القيمة المعادة يعيد التابع signame سلسلة نصية تمثل اسم الإشارة، أو تعاد القيمة nil إن لم يكن المعامل signo رقم إشارة صالح. أمثلة مثال على استخدام التابع signame‎: Signal.trap("INT") { |signo| puts Signal.signame(signo) } Process.kill("INT", 0)‎ ناتج تنفيذ الشيفرة هو: INT انظر أيضًا التابع list: يعيد قائمة بأسماء الإشارة المعيَّنة لأرقام الإشارة الأصلية المقابلة لها. التابع trap: يربط معالجًا بإشارة ...

التابع Signal.list‎ في روبي

يعيد التابع list قائمة بأسماء الإشارة المعيَّنة لأرقام الإشارة الأصلية المقابلة لها. البنية العامة list → a_hash‎ القيمة المعادة يعاد كائن من النوع Hash يمثِّل قائمة بأسماء الإشارة المسندة لأرقام الإشارة الأصلية المقابلة لها. أمثلة مثال على استخدام التابع list‎: Signal.list #=> {"EXIT"=>0, "HUP"=>1, "INT"=>2, "QUIT"=>3, "ILL"=>4, "TRAP"=>5, "IOT"=>6, "ABRT"=>6, "FPE"=>8, "KILL"=>9, "BUS"=>7, "SEGV"=>11, "SYS"=>31, "PIPE"=>13, "ALRM"=>14, "TERM"=>15, "URG"=>23, "STOP"=>19, "TSTP"=>20, "CONT"=>18, "CHLD"=>17, "CLD"=>17, "TTIN"=>21, "TTOU"=>22, "IO"=>29, "XCPU"=>24, "XFSZ"=>25, "VTALRM"=>26, "PROF"=>27, "WINCH"=>28, "USR1"=>10, "USR2"=>12, "PWR"=>30, "POLL"=>29}‎ انظر أيضًا التابع signame: ...

الأعداد العشرية decimal في بايثون

تتيح وحدة decimal إجراء حسابات سريعة على الأعداد العشرية مع ضمان التقريب الصحيح. >>> import decimal >>> Decimal(10) Decimal('10') >>> Decimal('3.14') Decimal('3.14') >>> Decimal(3.14) Decimal('3.140000000000000124344978758017532527446746826171875') ميزات الوحدة decimal تتفوق هذه الوحدة على نوع الأعداد العشرية float بعدة ميزات: العدد العشري decimal "يستند إلى نموذج أعداد عشرية ذات فاصلة عائمة يراعي الاستخدام البشري ويلتزم بمبدأ أساسي هو أنّه يجب أن توفّر الحواسيب عمليات حسابية تعمل بنفس الطريقة التي يتعلّمها الناس في المدارس" - اقتباسٌ من مواصفات العمليات الحسابية التي تجرى على الأعداد العشرية decimal. يمكن تمثيل الأعداد ...

الأعداد العشرية decimal في بايثون

تتيح وحدة decimal إجراء حسابات سريعة على الأعداد العشرية مع ضمان التقريب الصحيح. >>> import decimal >>> Decimal(10) Decimal('10') >>> Decimal('3.14') Decimal('3.14') >>> Decimal(3.14) Decimal('3.140000000000000124344978758017532527446746826171875') ميزات الوحدة decimal تتفوق هذه الوحدة على نوع الأعداد العشرية float بعدة ميزات: العدد العشري decimal "يستند إلى نموذج أعداد عشرية ذات فاصلة عائمة يراعي الاستخدام البشري ويلتزم بمبدأ أساسي هو أنّه يجب أن توفّر الحواسيب عمليات حسابية تعمل بنفس الطريقة التي يتعلّمها الناس في المدارس" - اقتباسٌ من مواصفات العمليات الحسابية التي تجرى على الأعداد العشرية decimal. يمكن تمثيل الأعداد ...

العمليات الأبناء في Node.js

الاستقرار: 2-مستقر توفِّر الوحدة child_process القدرة على توليد (spawn) عمليات أبناء بطريقةٍ مشابهةٍ  -وليست مماثلة- للدالة popen(3)‎، إذ يمكن للدالة child_process.spawn()‎ أن توفِّر هذه الإمكانيَّة في المقام الأول: const { spawn } = require('child_process'); const ls = spawn('ls', ['-lh', '/usr']); ls.stdout.on('data', (data) => { console.log(`stdout: ${data}`); }); ls.stderr.on('data', (data) => { console.log(`stderr: ${data}`); }); ls.on('close', (code) => { console.log(`child process exited with code ${code}`); }); تُنشَأ أنابيبٌ (pipes) لمجرى الدخل القياسي (stdin) ومجرى الخرج القياسي (stdout) ومجرى الخطأ القياسي (stderr) بين العمليَّة الأب في Node.js ...

الكائن Process

يكون الكائن process عامًا (global) والذي يزود معلومات عن عملية Node.js الحالية ورقابةً عليها، كونه كائنًا عامًا فهو متوافر دومًا لتطبيقات Node.js دون استخدام ()require. أحداث Process الكائن process هو نسخة من EventEmitter. الحدث 'beforeExit' أُضيف في الإصدار: 0.11.12. يُطلَق الحدث 'beforeExit' عندما تفرغ Node.js من حلقة الأحداث (event loop) ولا يوجد عمل إضافي لجدولته. بشكل طبيعي، عملية Node.js سوف تنتهي عندما لا يكون هناك عمل مجدولٌ، لكن المُنصِت المسجِّل لحدث 'beforeExit' يمكن أن يعمل استدعاءات غير متزامنة، وبذلك يسبب ...

الأفخاخ في Bash

عام قد تجد حالات لا تريد فيها من يستخدم شيفراتك النصية أن يخرج قبل الوقت المحدد عن طريق اختصارات لوحة المفاتيح حين تحتاج إلى مدخلات مثلًا أو عند القيام بعملية تنظيف، ويمكن استخدام أمر trap ليلتقط إشارات لوحة المفاتيح تلك، ويمكن برمجته مسبقًا لينفِّذ قائمة أوامر عند التقاط تلك الإشارات. قواعد أمر trap واضحة ومباشرة: trap [الإشارات] [الأوامر] هذا يجعل أمر trap يلتقط الإشارات المُعطاة له، والتي قد تكون أسماء إشارات مع سابقة SIG أو بدونها، أو تكون أرقام إشارات. وإن ...

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

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

التوابع في روبي

تتضمّن التوابع في لغة روبي الوظائف التي يقوم بها برنامجك. إليك هذا المثال لتعريف تابع بسيط: def one_plus_one  1 + 1 end  تعريف التابع يتكوّن من الكلمة المحجوزة def يتبعها اسم التابع، ثمّ جسم التابع، فالقيمة المعادة وفي النهاية الكلمة المحجوزة end. فعند تنفيذ التابع في المثال السابق، ستُعاد القيمة 2. هذا القسم سيغطّي تعريف التّوابع. ارجع إلى توثيق استدعاء التوابع لتتعرف على الصيغ المستخدمة لذلك الغرض. تسمية التوابع يمكن أن تستخدم لاسم التابع أحد المعاملات، وإلا فعليك أن تبتدئه بحرف أبجديّ أو ...

الإسناد في روبي

لكي نسند شيئًا في لغة روبي، نستخدم رمز المساواة =؛ ففي المثال التّالي، يُسنَد العدد 5 إلى المتغيّر v المحلّي: v = 5 فالإسناد يُنشئ متغيّرًا محلّيًا جديدًا إذا لم يكن قد عُرِّفَ من قبل. أسماء المتغيرات المحلية اسم المتغيّر المحلّي يجب أن يبدأ بحرف صغير من مجموعة المحارف US-ASCII أو من مجموعة المحارف التي تُمثَّل باستخدام ثمان بتات ثنائيّة. وبشكلٍ عام، فإنّ أسماء المتغيّرات المحلّية متوافقة مع US-ASCII كون الأزرار التي تستخدم لكتابتها موجودة في جميع لوحات المفاتيح. عمومًا، جميع ...

تنقيح تطبيقات ريلز

يقدّم هذا الدليل التقنيات اللازمة لتنقيح تطبيقات ريلز. بعد قراءة هذا الدليل، ستتعلّم: الغرض من التنقيح. كيفة تتبّع العلل والأخطاء التي لا تتعرّف عليها الاختبارات في تطبيقك. طرقًا مختلفة للتنقيح. كيفيّة تحليل أثر المكدس. مساعدي العرض للتنقيح احدى المهام الشائعة في التنقيح هي فحص محتويات متغيّر معيّن، لذا يوفر ريلز ثلاثة طرائق لفعل ذلك: Debug To_yaml Inspect debug سيعيد المساعد debug الوسم <pre> الذي يصدّر الكائن باستخدام تنسيق YAML، وسيؤدي هذا إلى توليد بيانات يمكن للإنسان قراءتها من أي كائن. ...

تثبيت روبي على مختلف المنصات

توجد عدة طرق لتنزيل وتثبيت روبي على كل منصة وهي: في لينكس (والأنظمة الشبيه بيونكس)، تستطيع استعمال نظام مدير الحزم لتوزيعتك (الطريقة الأسهل) أو أية أداة من طرف ثالث (مثل rbenv و RVM). على أي حال، إصدار روبي المثبت عن طريق نظام مدير الحزم قد لا يكون هو الإصدار الأحدث، لذا انتبه لهذا الأمر. في macOS، يمكنك استعمال مدير الحزم أو أداة من طرف ثالث (مثل rbenv و RVM). في ويندوز، تستطيع استخدام RubyInstaller. يمكنك باستعمال المثبِّت هذا تثبيت إصدار ...

معلومات إضافية عن روبي

هل تساءلت يومًا لماذا روبي مشهورة إلى هذا الحد؟ يقول المعجبون بها أنَّها لغة جميلة وذات بنية متقنة. ويقولون أيضًا أنَّها لغة عملية وسهلة الاستعمال. فماذا تعطي وبماذا تتمتع؟ مثالية منشئ لغة روبي حققت لغة روبي توازنًا دقيقًا بين لغات البرمجة. عمل منشئ هذا اللغة - الياباني Yukihiro “Matz” Matsumoto - على دمج أجزاءٍ من لغات البرمجة المفضلة لديه (Perl، و Smalltalk، و Eiffel، و Ada، و Lisp) لإنشاء لغة جديدة تحقق التوازن بين البرمجة الوظيفية (functional programming) والبرمجة الأمرية ...

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

يُعيِّن التابع instance_variable_set قيمة متغيِّر نسخةٍ (instance variable) محدِّدٍ إلى قيمة معيَّنة في الكائن المُعطى؛ هذا يؤدي إلى إحباط جهود منشئ الصنف في محاولة توفير التغليف (encapsulation) المناسب. ليس من الضروري أن يتواجد المتغيِّر قبل استدعاء هذا التابع. إذا مُرِّر اسم متغيِّر النسخة بشكل سلسلةٍ نصيةٍ (string)، فستُحوَّل تلك السلسلة إلى رمز. البنية العامة instance_variable_set(symbol, obj) → obj instance_variable_set(string, obj) → obj المعاملات symbol الرمزُ الذي يشير إلى اسم متغيِّر النسخة المراد تعيين قيمة المعامل obj إليه في الكائن المُعطى. string ...

التابع String.sub في روبي

يعيد التابع sub نسخة من السلسلة النصية التي استدعي معها مع تبديل قيمة محدَّدة مع أول تطابق للنمط المعطى. البنية العامة sub(pattern, replacement) → new_str sub(pattern, hash) → new_str sub(pattern) {|match| block } → new_str إن أعطيت كتلة block إلى التابع، فستُمرَّر السلسلة الحالية المتطابقة إليها وستعيَّن قيم متغيرات مثل ‎$1، و ‎$2، و ‎$`‎، و ‎$&‎، و ‎$'‎ بشكل مناسب. ستحل القيم التي تعيدها الكتلة مكان القيمة المتطابقة في كل استدعاء. المعاملات pattern يكون عادةً تعبيرًا نمطيًّا. إن كان سلسلة نصية، فستُفسَّر أية محارف ...

التابع Numeric.arg‎ في روبي

يعيد التابع arg القيمة 0 إن كان العدد الذي استُدعي معه موجبًا، أو القيمة pi خلاف ذلك. البنية العامة arg → 0 or float‎ القيمة المُعادة تعاد القيمة 0 إن كانت القيمة المعطاة موجبة، أو pi خلاف ذلك. انظر أيضا التابع angle: يعيد القيمة 0 إن كان العدد الذي استُدعي معه موجبًا، أو القيمة pi خلاف ذلك. التابع ceil: يعيد أصغر عدد أكبر من أو يساوي العدد المعطى وبدقة محدَّدة. مصادر قسم التابع arg‎ في الصنف Numeric‎ في توثيق روبي الرسمي.

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

يُعيد التابع keys مصفوفة من أسماء المتغيرات محلية الليف (fiber-local variables) على هيئة رموز. البنية العامة keys→ array‎ القيمة المعادة تعاد مصفوفة من أسماء المتغيرات محلية الليف. أمثلة مثال على استخدام التابع keys‎: thr = Thread.new do Thread.current[:cat] = 'meow' Thread.current["dog"] = 'woof' end thr.join #=> #<Thread:0x401b3f10 dead> thr.keys #=> [:dog, :cat]‎ انظر أيضًا التابع key?‎: يتحقق إن كانت السلسلة النصية أو الرمز المعطى موجود على هيئة متغير محلي الليف (fiber-local variable). مصادر قسم التابع keys‎ في الصنف Thread‎ ...

التابع Array.sort!‎ في روبي

يرتب التابع sort!‎ عناصر المصفوفة التي استُدعيت معه. ستجرى عملية الموازنة بين عناصر المصفوفة المراد ترتيبها باستعمال المعامل <=> أو باستعمال كتلة برمجية محددة. إن استعملت الكتلة البرمجية block في ترتيب العناصر، فيجب أن تجري موازنة بين العنصر a والعنصر b وتعيد عددًا سالبًا إن كان b أكبر من a، أو العدد 0 إن كانا متساويين، أو عددًا موجبًا إن كان b أصغر من a. مع ذلك، لن تكون النتيجة مضمونة مئة بالمئة، إذ لا يمكن التنبؤ بترتيب العناصر المتساوية ...

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