نتائج البحث
اذهب إلى التنقل
اذهب إلى البحث
الصنف SystemCallError في روبي
يعتبر الصنف SystemCallError الصنف الأب لكل أصناف الأخطاء منخفضة المستوى المرتبطة بنظام التشغيل. الأخطاء المتوفرة على نظام التشغيل الحالي هي أصناف فرعية من الصنف SystemCallErrorـ وهي مُعرّفة في الوحدة Errno. File.open("does/not/exist")
عند تنفيذ هذا السطر البرمجي، سيطلق استثناء بالشكل التالي: Errno::ENOENT: No such file or directory - does/not/exist
توابع الصنف العامة (Public Class Methods) === يتحقق إن كان الاستثناء الذي استُدعي معه كائنًا عامًا من الصنف SystemCallError، أو إن كان رقما الخطأ الخاصين بهذا الاستثناء والاستثناء الآخر المعطى متساويين. new ...
المعامل === الخاص بالصنف SystemCallError في روبي
يتحقق المعامل === إن كان الاستثناء الذي استُدعي معه كائنًا عامًا من الصنف SystemCallError، أو إن كان رقما الخطأ الخاصين بهذا الاستثناء والاستثناء الآخر المعطى (انظر فقرة البنية العامة) متساويين. البنية العامة system_call_error === other → true or false
القيمة المعادة تعاد القيمة true إن كان الاستثناء system_call_error كائنًا عامًا من الصنف SystemCallError، أو إن كان رقما الخطأ الخاصين بهذا الاستثناء والاستثناء other متساويين. خلا ذلك، تعاد القيمة false. انظر أيضًا التابع new: ينشئ الصنف Errno المناسب لرمز خطإٍ نظامي معروف ...
التابع SystemCallError.new في روبي
ينشئ التابع new الصنف Errno المناسب لرمز خطإٍ نظامي معروف إن كان رقم الخطأ المُمرَّر إليه يطابق رمز هذا خطأ، وإلا فسينشئ كائنًا عامًا من النوع SystemCallError. رقم الخطأ سيكون متاح لاحقًا عبر التابع errno. البنية العامة new(msg, errno) → system_call_error_subclass
المعاملات msg رسالة الخطأ. errno رقم الخطأ. القيمة المعادة يعاد كائنٌ جديد من النوع SystemCallError أو صنف متفرع منه. انظر أيضا التابع ===: يتحقق إن كان الاستثناء الذي استُدعي معه كائنًا عامًا من الصنف SystemCallError، أو إن كان رقما الخطأ ...
التابع SystemCallError.errno في روبي
يعيد التابع errno رقم الخطأ الخاص بالكائن SystemCallError الذي استُدعي معه. البنية العامة errno→ integer
القيمة المعادة يعاد رقم الخطأ الخاص بالكائن SystemCallError المعطى. انظر أيضًا التابع new: ينشئ كائنًا جديدًا من النوع SystemCallError. مصادر قسم التابع errno في الصنف SystemCallError في توثيق روبي الرسمي.
التابع File.link في روبي
ينشئ التابع link اسمًا جديدًا لملف موجود باستعمال وصلة صلبة (hard link). لن يُستبدَل الاسم الجديد إن كان موجودًا مسبقًا بل يرمي صنفًا فرعيًّا من الخطأ SystemCallError. هذا التابع غير متاح على جميع المنصات. البنية العامة link(old_name, new_name) → 0
المعاملات old_name اسم الملف القديم المراد إنشاء وصلة صلبة باسم جديد له. new_name الاسم الجديد للملف ذي الاسم old_name. القيمة المعادة تعاد القيمة 0 عند نجاح العملية، أو يرمى الخطأ SystemCallError إن كان الاسم الجديد المراد إنشاؤه للملف old_name موجودًا من ...
التابع Dir.children في روبي
يعيد التابع children مصفوفة تحوي جميع أسماء الملفات في المجلد المحدد باستثناء "." و "..". في حالة عدم وجود المجلد المحدد، فسيُطلق الخطأ SystemCallError. يمكن تمرير الوسيط الاختياري encoding الذي يحدِّد ترميز المجلد. أمَّا إن لم يُحدّد، فسيٌستخدم ترميز نظام الملفات نفسه. البنية العامة children( dirname ) → array
children( dirname, encoding: enc ) → array
المعاملات dirname اسم المجلد المُحدد المراد معرفة محتواه. encoding ترميز المجلد. إن لم يُحدّد، فسيٌستخدم ترميز نظام الملفات. القيمة المعادة تُعاد مصفوفة تحوي جميع ...
التابع Dir.unlink في روبي
يحذف التابع unlink مجلدًا محدَّدًا. سيُطلق خطأٌ من صنف فرعي من SystemCallError في حال لم يكن المجلد فارغًا. البنية العامة unlink( string ) → 0
المعاملات string اسم المجلد المُراد حذفه. انظر أيضًا التابع delete: يحذف مجلدًا محدَّدًا. التابع rmdir: مجلدًا محدَّدًا. مصادر قسم التابع unlink في الصنف Dir في توثيق روبي الرسمي.
التابع Dir.rmdir في روبي
يحذف التابع rmdir مجلدًا محدَّدًا. سيُطلق خطأٌ من صنف فرعي من SystemCallError في حال لم يكن المجلد فارغًا. البنية العامة rmdir( string ) → 0
المعاملات string اسم المجلد المُراد حذفه. انظر أيضًا التابع delete: يحذف مجلدًا محدَّدًا. التابع unlink: يحذف مجلدًا محدَّدًا. مصادر قسم التابع rmdir في الصنف Dir في توثيق روبي الرسمي.
التابع Dir.delete في روبي
يحذف التابع delete مجلدًا محدَّدًا. سيُطلق خطأ من صنف فرعي من SystemCallError في حال لم يكن المجلد المراد حذفه موجودًا. البنية العامة delete( string ) → 0
المعاملات string اسم المجلد المُراد حذفه. انظر أيضًا التابع chdir : يغيِّر مجلد العمل (working directory) الحالي للعملية إلى مجلد محدَّد. التابع rmdir :يحذف مجلدًا محدَّدًا. مصادر قسم التابع delete في الصنف Dir في توثيق روبي الرسمي.
الصنف 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 في توثيق روبي الرسمي.
التابع Dir.mkdir في روبي
ينشئ التابع mkdir مجلدًا جديدًا باسم محدَّد، مع تحديد أذوناته أيضًا. يمكن تعديل الأذونات بواسطة File::umask، ويتم تجاهلها في NT. إن لم يكن بالإمكان إنشاء المجلد، فسيُطلق الخطأ SystemCallError. راجع أيضًا مناقشة الأذونات في توثيق الصنف File. البنية العامة mkdir( string [, integer] ) → 0
المعاملات string اسم المجلد الجديد المراد إنشاؤه. integer أذونات المجلد الجديد المراد إنشاؤه. أمثلة مثال عن استخدام التابع mkdir: Dir.mkdir(File.join(Dir.home, ".foo"), 0700) #=> 0
انظر أيضًا التابع chdir: يغيِّر مجلد العمل (working directory) الحالي ...
التابع Dir.entries في روبي
يعيد التابع entries مصفوفةً تحتوي جميع أسماء الملفات الموجودة في المجلد المحدد. في حال عدم وجود هذا المجلد، سيُطلق الخطأ SystemCallError. يمكن تمرير الوسيط encoding الاختياري إلى التابع الذي يحدد ترميز المجلد. أمَّا إن لم يعطَ، فسيٌستخدم ترميز نظام الملفات. البنية العامة entries( dirname ) → array
entries( dirname, encoding: enc ) → array
المعاملات dirname اسم المجلد المراد معرفة محتوياته. encoding ترميز المجلد. القيمة المعادة تُعاد مصفوفةٌ تحوي جميع أسماء الملفات في المجلد المحدد. أمثلة مثال عن استخدام التابع entries ...
التابع File.rename في روبي
يعيد التابع rename تسمية ملف محدَّد إلى اسم جديد. البنية العامة rename(old_name, new_name) → 0
المعاملات old_name اسم الملف القديم المراد تغييره. new_name الاسم الجديد المراد تغيير اسم الملف old_name إليه. القيمة المعادة تعاد القيمة 0 بعد تسمية الملف old_name إلى الاسم new_name الجديد، أو يرمى الخطأ SystemCallError إن لم يكن الإمكان إعادة تسمية الملف old_name لأي سبب كان. أمثلة مثال على استعمال التابع : File.rename("afile", "afile.bak") #=> 0
انظر أيضا التابع absolute_path: يحول اسم مسار محدَّد إلى مسار مطلق. ...
التابع IO.syswrite في روبي
يكتب التابع syswrite السلسلة النصية المُمرَّرة إليه في المجرى الذي استُدعي معه باستخدام كتابة منخفض المستوى (low-level write). لا تخلط هذا التابع مع التوابع الأخرى التي تكتب في المجرى، وإلا ستحصل على نتائج غير متوقعة. يُطلق الاستثناء SystemCallError عند حدوث خطأ. البنية العامة syswrite(string)→ integer
المعاملات string سلسلة نصية يراد كتابتها على المجرى. القيمة المعادة يعاد عدد صحيح يمثِّل عدد البايتات المكتوبة في المجرى. أمثلة مثال على استخدام التابع syswrite: f = File.new("out", "w")
f.syswrite("ABCDEF") #=> 6
انظر أيضًا التابع sysread: ...
الوحدة Errno في روبي
تعدُّ كائنات الاستثناءات في روبي أصنافًا فرعيةً (subclasses) من الصنف Exception. على أي حال، تُبلِّغ أنظمة التشغيل عادةً عن الأخطاء باستخدام أعدادٍ صحيحةٍ مبسّطةٍ (plain integers). تُنشَأ الوحدة Errno ديناميكيًّا لتنظيم تفاصيل هذه الأخطاء الناتجة عن أنظمة التّشغيل وإرسالها إلى أصناف روبي، مع توليد صنف فرعي من الصنف SystemCallError خاص بكل رقم خطأٍ. عند إنشاء الصّنف الفرعي في الوحدة Errno، ستبدأ تسميته بالاسم ::Errno. تعتمد أسماء الأصناف ::Errno تعتمد على البيئة التي تعمل فيها روبي. ففي منصة يونكس أو ويندوز ...
التابع Process.wait2 في روبي
ينتظر التابع wait2 خروج العملية الابن ثم يعيد مصفوفة تحوي مُعرِّف وحالة الخروج (كائنًا من النوع Process::Status) تلك العملية. يطلق استدعاء هذا التابع الاستثناء SystemCallError إن لم يكن هنالك أية عمليات أبناء. البنية العامة wait2(pid=-1, flags=0) → [pid, status]
المعاملات pid مُعرِّف العملية المراد انتظارها. اطلع على صفحة التابع wait لمزيد من التفاصيل حول هذا المعامل. flags اطلع على صفحة التابع wait لمزيد من التفاصيل حول هذا المعامل. القيم المعادة تعاد مصفوفة تحوي مُعرِّف وحالة الخروج (كائنًا من النوع Process::Status) العملية ...
التابع IO.sysread في روبي
يقرأ التابع sysread عددًا محدَّدًا من البايتات من المجرى الذي استدعي معه باستخدام قراءة منخفضة المستوى (low-level read)، ثم يُعيدها كسلسلة نصية. لا تخلط هذا التابع مع التوابع الأخرى التي تقرأ من المجرى، وإلا ستحصل على نتائج غير متوقعة. يُطلَق الاستثناء SystemCallError عند حدوث خطأ، أو EOFError عند نهاية الملف. البنية العامة sysread(maxlen[, outbuf]) → string
المعاملات maxlen عدد صحيح يمثِّل الحد الأقصى للبايتات المراد قراءتها. outbuf في حال إعطاء هذا المعامل الاختياري، فينبغي أن يشير إلى السلسلة النصية التي ستتلقى البيانات المقروءة ...
التابع Process.waitpid2 في روبي
ينتظر التابع waitpid2 خروج العملية الابن ثم يعيد مصفوفة تحوي مُعرِّف وحالة الخروج (كائنًا من النوع Process::Status) تلك العملية. يطلق استدعاء هذا التابع الاستثناء SystemCallError إن لم يكن هنالك أية عمليات أبناء. البنية العامة waitpid2(pid=-1, flags=0) → [pid, status]
المعاملات pid مُعرِّف العملية المراد انتظارها. اطلع على صفحة التابع wait2 لمزيد من التفاصيل حول هذا المعامل. flags اطلع على صفحة التابع wait2 لمزيد من التفاصيل حول هذا المعامل. القيم المعادة تعاد مصفوفة تحوي مُعرِّف وحالة الخروج (كائنًا من النوع Process::Status) العملية ...
التابع IO.pread في روبي
يقرأ التابع pread من المجرى الذي استدعي معه عددًا محدَّدًا من البايتات باستخدام استدعاء النظام pread، ثم يُعيدها كسلسلة نصية من غير تعديل إزاحة (offset) الواصف الأساسي. هذا التابع مفيد مقارنة بالجمع بين التابعين seek و read معًا في كونه ذريًا (atomic)، مما يسمح لعدة مهام فرعية/عمليات بتشارك نفس المجرى لقراءة الملف من مواضع مختلفة. هذا سيتجاوز أي مساحة تخزين مؤقت للمستخدمين في المجرى. سيُطلق الاستثناء SystemCallError عند حصول خطأ، أو الاستثناء EOFError عند الوصول إلى نهاية الملف، أو الاستثناء NotImplementedError ...
التابع IO.pwrite في روبي
يكتب التابع pwrite السلسلة النصية المُمرَّرة إليه في موضع محدَّد من المجرى الذي استُدعي معه باستخدام استدعاء دالة النظام pwrite(). هذا مفيد مقارنة بالجمع بين التابعين seek و write معا في كونه ذريًا (atomic)، مما يسمح لعدة مهام فرعية/عمليات بالتشارك في نفس المجرى لقراءة الملف من مواضع مختلفة. هذا سيتجاوز أي مساحة تخزين مؤقت للمستخدمين من المجرى. سيعيد التابع pwrite عدد البايتات المكتوبة، أو سيُطلق الاستثناء SystemCallError في حال حدوث خطأ، أو NotImplementedError إذا لم يكن نظام الشغيل يدعم استدعاء النظام. البنية ...
التابع system الخاص بالصنف Kernel في روبي
ينفذ التابع system الأمر المُمرَّر إليه في صدفة فرعية (subshell). البنية العامة system([env,] command... [,options]) → true, false or nil
المعاملات env بيئة التنفيذ. يعد هذا المعامل الذي من النوع Hash مماثلة تمامًل لمعامل التابع exec و spawn. انظر صفحة spawn لمزيد من التفاصيل. command... التعليمة المراد تنفيذها. تأخذ التعليمة command… أحد الأشكال التالية. شكل المعامل command… الوصف commandline تعليمة نصية تُمرر إلى الصدفة القياسية cmdname, arg1, ... تعليمة نصية تُمرر إلى الصدفة القياسية [cmdname, argv0], arg1, ... تعليمة ووسيط ...
التابع syscall الخاص بالصنف Kernel في روبي
يستدعي التابع syscall دالة نظام التشغيل المحددة بواسطة المعامل المُمرَّر إليه ويعيد نتيجة هذه الدالة أو يطلق الخطأ SystemCallError في حال فشل استدعائها. وسائط الدالة المُستدعاة يمكن أن تمريرها إلى التابع بعد تمرير رقم تلك الدالة. يجب أن تكون تلك الوسائط إما سلاسل نصية أو أعدادًا صحيحةً. يُمرّر كائن من النوع String كمؤشر (pointer) لتسلسل البايتات (byte sequence) بينما يمُرَّر كائن من النوع Integer كعدد صحيح له نفس حجم بتات (bit size) المؤشر. الحد الأقصى للوسائط التي يمكن تمريرها هو ...
التابع Process.wait في روبي
ينتظر التابع wait خروج العملية الابن ثم يعيد مُعرِّفها ويضبط ?$ إلى قيمة الكائن Process::Status الذي يحوي معلومات حول تلك العملية. العملية التي ينتظرها التابع wait يعتمد على مُعرِّف العملية pid المُمرَّر إليه. يطلق استدعاء هذا التابع الاستثناء SystemCallError إن لم يكن هنالك أية عمليات أبناء. هذا التابع غير متاح على جميع المنصات. البنية العامة wait() → integer click to toggle source
wait(pid=-1, flags=0) → integer
waitpid(pid=-1, flags=0) → integer
المعاملات pid مُعرِّف العملية المراد انتظارها. تتراوح القيم التي تأخذها ضمن المجالات التالية: ...
التابع Process.waitpid في روبي
ينتظر التابع waitpid خروج العملية الابن ثم يعيد مُعرِّفها ويضبط ?$ إلى قيمة الكائن Process::Status الذي يحوي معلومات حول تلك العملية. العملية التي ينتظرها التابع wait يعتمد على مُعرِّف العملية pid المُمرَّر إليه. يطلق استدعاء هذا التابع الاستثناء SystemCallError إن لم يكن هنالك أية عمليات أبناء. هذا التابع غير متاح على جميع المنصات. البنية العامة waitpid(pid=-1, flags=0) → integer
المعاملات pid مُعرِّف العملية المراد انتظارها. تتراوح القيم التي تأخذها ضمن المجالات التالية: أكبر من الصفر: ينتظر التابع العملية الابن التي مُعرَّفها ...
الصنف Exception في روبي
تُستخدَم الكائنات السليلة من الصنف Exception للتواصل بين التّابع Kernel.raise وتصريحات rescue في الكتل (blocks) من الشكل begin...end. تَحمل كائنات الصنف Exception معلوماتٍ عن الاستثناء المَرمي مثل نوعه (اسم صنف الاستثناء)، وسلسلةً نصيّةً وصفيّةً اختياريّة، ومعلوماتِ تتبّعٍ اختيارية. قد تضيف الأصناف الفرعية من الصنف Exception معلوماتٍ إضافيّةٍ مثل NameError.name. قد تُنشِئ البرامج أصنافًا فرعيّةً (subclasses) من الصنف Exception، تكون عادةً StandardError أو RuntimeError، لتوفير أصنافٍ مخصصّةٍ وإضافة معلوماتٍ إضافية. ألقِ نظرةً على قائمة الأصناف الفرعية في الأسفل من أجل قيم ...
التابع Process.exec في روبي
يستبدل التابع exec العملية الحالية عبر تشغيل الأمر الخارجي المعطى. البنية العامة exec([env,] command... [,options])
يمكن أن يأخذ التابع عند استعماله لتنفيذ الأمر الخارجة المعطى أحد الأشكال التالية: exec(commandline): الأمر هو سلسلة نصية تُمرَّر إلى الصدفة القياسية (standard shell). exec(cmdname, arg1, ...): يُمرَّر إلى التابع اسم الأمر ووسيط واحد أو أكثر (بدون صدفة). exec([cmdname, argv0], arg1, ...): يُمرَّر إلى التابع اسم الأمر والوسيط argv فقط أو وسيط آخر أو أكثر (بدون صدفة). في الشكل الأول، تُؤخذ السلسلة النصية كسطر أمري يخضع إلى توسعة ...
التابع exec الخاص بالصنف Kernel في روبي
يستبدل التابع exec العملية (process) الحالية عبر تشغيل الأمر الخارجي المعطى والذي يمكن أن يأخذ أحد الأشكال التالية: الأمر الوصف exec(commandline) أحد أوامر سطر الأوامر (command line) والذي يُمرّر إلى الصدفة (shell) القياسية. exec(cmdname, arg1, ...) اسم أمر (command name) ووسيط واحد أو أكثر (بدون صدفة). exec([cmdname, argv0], arg1, ...) اسم أمر وكائن argv، مع إمكانية إضافة وسائط أخرى (بدون صدفة shell). في الشكل الأول، تؤخذ السلسلة النصية باعتبارها أمرًا يراد تنفيذه في سطر أوامر، ثم تعمل الصدفة على ...
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 + ...
التحسينات في روبي
إن ميّزة الأصناف المفتوحة في لغة روبي تسمح لك بإعادة تعريف أو إضافة وظائف إلى أصناف معرّفة مسبقًا. وهذا ما يسمى بمصطلح "ترقيع القرد" (monkey patch). المشكلة هنا أنَّ تعديلات من هذا النوع تكون مرئيّة على المستوى العام (global)، وبالتالي جميع مستخدمي الصنف المرقّع قادرون على رؤية هذه التغييرات، ممّا قد يسبّب تأثيرات جانبيّة غير محسوبة أو حتى عطب في البرامج. تأتي التحسينات هنا لتقلّل أثر ترقيع القرد على مستخدمي الصنف الآخرين، إذ تقدّم طريقة لتوسيع الصنف محليًّا. وإليك مثال ...
التوابع في روبي
تتضمّن التوابع في لغة روبي الوظائف التي يقوم بها برنامجك. إليك هذا المثال لتعريف تابع بسيط: def one_plus_one
1 + 1
end
تعريف التابع يتكوّن من الكلمة المحجوزة def يتبعها اسم التابع، ثمّ جسم التابع، فالقيمة المعادة وفي النهاية الكلمة المحجوزة end. فعند تنفيذ التابع في المثال السابق، ستُعاد القيمة 2. هذا القسم سيغطّي تعريف التّوابع. ارجع إلى توثيق استدعاء التوابع لتتعرف على الصيغ المستخدمة لذلك الغرض. تسمية التوابع يمكن أن تستخدم لاسم التابع أحد المعاملات، وإلا فعليك أن تبتدئه بحرف أبجديّ أو ...
الإسناد في روبي
لكي نسند شيئًا في لغة روبي، نستخدم رمز المساواة =؛ ففي المثال التّالي، يُسنَد العدد 5 إلى المتغيّر v المحلّي: v = 5
فالإسناد يُنشئ متغيّرًا محلّيًا جديدًا إذا لم يكن قد عُرِّفَ من قبل. أسماء المتغيرات المحلية اسم المتغيّر المحلّي يجب أن يبدأ بحرف صغير من مجموعة المحارف US-ASCII أو من مجموعة المحارف التي تُمثَّل باستخدام ثمان بتات ثنائيّة. وبشكلٍ عام، فإنّ أسماء المتغيّرات المحلّية متوافقة مع US-ASCII كون الأزرار التي تستخدم لكتابتها موجودة في جميع لوحات المفاتيح. عمومًا، جميع ...
تثبيت روبي على مختلف المنصات
توجد عدة طرق لتنزيل وتثبيت روبي على كل منصة وهي: في لينكس (والأنظمة الشبيه بيونكس)، تستطيع استعمال نظام مدير الحزم لتوزيعتك (الطريقة الأسهل) أو أية أداة من طرف ثالث (مثل 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. مع ذلك، لن تكون النتيجة مضمونة مئة بالمئة، إذ لا يمكن التنبؤ بترتيب العناصر المتساوية ...
التابع =Process.uid في روبي
يضبط التابع uid عند استدعائه بالشكل uid= user المُعرِّف الحقيقي للمستخدم المالك للعملية الحالية إلى القيمة user. هذا التابع غير متاح على جميع المنصات. البنية العامة uid= user → numeric
القيم المعادة تعاد القيمة user بعد تعيينها إلى المُعرِّف الحقيقي للمستخدم المالك للعملية الحالية. أمثلة مثال على استعمال التابع uid: Process.setproctitle('myapp: worker #%d' % worker_id)
انظر أيضًا التابع uid: يعيد المُعرِّف الحقيقي للمستخدم المالك للعملية الحالية. التابع gid=: يضبط عند استدعائه بالشكل gid= integer مُعرِّف المجموعة المالكة للعملية الحالية إلى القيمة ...
التابع ARGF.inspect() في روبي
يعد التابع inspect() اسمًا بديلًا للتابع to_s. انظر أيضًا التابع to_s: يعيد القيمة "ARGF". مصادر قسم التابع ARGF.inspect() في الصنف ARGF في توثيق روبي الرسمي.
الصنف Data في روبي
الصنف Data هو صنف مهمل. كان يعدُّ الصنف الأساس لملحقات C التي تستعمل Data_Make_Struct أو Data_Wrap_Struct. مصادر صفحة الصنف Data في توثيق روبي الرسمي.
التابع 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))
> #=> ...
التابع Float.prev_float في روبي
يعيد التابع prev_float العدد العشري الذي يسبق العدد العشري الذي استُدعي معه. يعيد استدعاء التابع prev_float مع القيمة ((-Float::MAX والقيمة (Float::INFINITY-) القيمة الثابتة -Float::INFINITY. ويعيد استدعاء التابع بالشكل Float::NAN.prev_float القيمة Float::NAN. البنية العامة prev_float → float
القيمة المعادة يعاد العدد العشري السابق للعدد العشري المعطى. أمثلة مثال على استخدام التابع prev_float: 0.01.prev_float #=> 0.009999999999999998
1.0.prev_float #=> 0.9999999999999999
100.0.prev_float #=> 99.99999999999999
0.01 - 0.01.prev_float #=> 1.734723475976807e-18
1.0 - 1.0.prev_float ...
التابع GC.disable في روبي
يعطِّل التابع disable جمع البيانات المهملة، ويعيد القيمة true إذا كان جمع البيانات المهملة مُعطَّلًا مسبقًا. البنية العامة disable → true or false
القيمة المعادة تعاد القيمة true إذا كان جمع البيانات المهملة مُعطَّلًا مسبقًا. خلا ذلك، تعاد القيمة false. أمثلة مثال على استعمال التابع disable: GC.disable #=> false
GC.disable #=> true
انظر أيضا التابع enable: يفعِّل جمع البيانات المهملة، ويعيد القيمة true إذا كان جمع البيانات المهملة مُعطَّلًا مسبقًا. مصادر قسم التابع disable في الصنف GC في توثيق ...
الصنف FrozenError في روبي
يرمى الاستثناء FrozenError عند محاولة تعديل كائن مجمد. [1, 2, 3].freeze << 4
عند تنفيذ هذه الشيفرة، يرمى الاستثناء: FrozenError: can't modify frozen Array
انظر أيضًا التابع freeze: يجمد السلسلة النصية التي استُدعيت معه، أي يجعلها غير قابلة للتعديل. مصادر صفحة الصنف FrozenError في توثيق روبي الرسمي.
التابع ARGF.printf في روبي
يطبع التابع printf الكائن أو الكائنات الممرَّرة إليه على المجرى ios (اختصارًا للعبارة Input Output Stream) بعد تنسيقها بشكل معين. للمزيد من المعلومات حول المعاملات المستعملة في عملية التنسيق (أي المستعملة مع الوسيط format_string)، ارجع إلى صفحة التابع Kernel.sprintf. البنية العامة printf(format_string [, obj, ...]) → nil
القيم المعادة تعاد القيمة nil. أمثلة مثالٌ على استخدام التابع printf: printf("%s, the sale price is $%f.\n", name, sale_price)
...
التابع Thread.thread_variable? في روبي
يتحقق التابع thread_variable? إن كانت السلسلة النصية أو الرمز المعطى موجودًا كمتغير محلي للمهمة الفرعية (thread-local variable). لاحظ أنَّ هذه المتغيرات ليست متغيرات محلية الألياف (fiber local variables). يرجى الاطلاع على صفحة المعامل [] والتابع thread_variable_get لمزيد من التفاصيل. البنية العامة thread_variable?(key)→ true or false
المعاملات key سلسلة نصية أو رمز. القيمة المعادة تعاد القيمة true إن كانت السلسلة النصية أو الرمز key المعطى موجودًا كمتغير محلي للمهمة الفرعية (thread-local variable)، وإلا فستعاد القيمة false. أمثلة مثال على استخدام التابع thread_variable?: ...
الصنف 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 {
...
الصنف TracePoint في روبي
يوفر الصنف TracePoint وظائف Kernel.set_trace_func على شكل واجهة برمجية كائنية (Object-Oriented API). مثال يمكننا استخدام المتعقبات (كائنات الصنف TracePoint) لجمع المعلومات بخصوص الاستثناءات: trace = TracePoint.new(:raise) do |tp|
p [tp.lineno, tp.event, tp.raised_exception]
end
#=> #<TracePoint:disabled>
trace.enable
#=> false
0 / 0
#=> [5, :raise, #<ZeroDivisionError: divided by 0>]
الأحداث إذا لم تحدِّد نوع الأحداث التي تريد الاستماع إليها، فسيشمل المتعقب TracePoint جميع الأحداث المتاحة. ملحوظة: لا تعتمد على مجموعة الأحداث الحالية، إذ أن هذه القائمة عرضةٌ للتغيير. بدلًا من ذلك، يُنصَح بتحديد نوع ...