الفرق بين المراجعتين لصفحة: «Ruby/Kernel/require»
أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: التابع <code>require</code> الخاص بالصنف <code>Kernel</code> في روبي}}</noinclude> تصنيف: Ruby تصن...' |
جميل-بيلوني (نقاش | مساهمات) تدقيق |
||
(مراجعة متوسطة واحدة بواسطة مستخدم واحد آخر غير معروضة) | |||
سطر 3: | سطر 3: | ||
[[تصنيف: Ruby Method]] | [[تصنيف: Ruby Method]] | ||
[[تصنيف: Ruby Kernel]] | [[تصنيف: Ruby Kernel]] | ||
يُحمِّل التابع <code>require</code> ميزة محدَّدة ثمَّ يعيد <code>true</code> في حال نجح في ذلك، أو <code>false</code> إذا كانت الميزة (feature) مُحملة سلفًا. | |||
ستكون كل الثوابت والمتغيرات | ستكون كل الثوابت والمتغيرات العامة (global) الموجودة في الملف المصدري المُحمل متاحةً في مجال أسماء البرنامج المُستدعِي (calling program) العام (global namespace). لكن لن تنتشر المتغيرات المحلية في بيئة التحميل. | ||
==البنية العامة== | ==البنية العامة== | ||
<syntaxhighlight lang="ruby">require(name) → true or false</syntaxhighlight> | <syntaxhighlight lang="ruby">require(name) → true or false</syntaxhighlight> | ||
==المعاملات== | ==المعاملات== | ||
===<code>name</code>=== | ===<code>name</code>=== | ||
اسم الملف المراد تحميله. إذا لم يكن بالإمكان استبيان اسم الملف إلى مسار مطلق (absolute path)، فسيتم البحث عنه في المجلدات المدرجة في <code>(:$) $LOAD_PATH</code>. | |||
إذا كان لاسم الملف الامتداد <code>".rb"</code> ، فسيُحمّل كملف مصدري؛ وإذا كان الامتداد هو "<code>.so</code>" أو "<code>.o</code>" أو "<code>.dll</code>" أو الامتدادّ الافتراضي للمكتبات المشتركة لنظام التشغيل الحالي، فستُحمّل روبي المكتبة المشتركة كإضافة. خلاف ذلك، ستحاول روبي أن تضيف للاسم الامتدادات "<code>.rb</code>" أو "<code>.so</code>" ...إلخ. حتى تعثر على الملف. إذا تعذر العثور على الملف المسمى، سيُطلَق الخطأ <code>[[Ruby/LoadError|LoadError]]</code>. | |||
بالنسبة لملحقات روبي، قد يستخدم اسم الملف المُعطى أي امتداد من امتدادات المكتبة المشتركة. على سبيل المثال، في نظام لينكس، امتداد المقبس هو "<code>socket.so</code>" وسيُحمّل استدعاء التابع بالشكل <code>require 'socket.dll'</code> ملحق المقبس (.socket extension). | |||
يُضاف المسار المطلق للملف المحمّل إلى <code>$LOADED_FEATURES ($")</code>. لن يتم تحميل الملف مرة أخرى إذا كان مساره موجودًا سلفًا في <code>$"</code>. على سبيل المثال، لن يحمِّل الاستدعاء <code>require 'a'; require './a'</code> الملف <code>a.rb</code> مرةً أخرى. | |||
==القيمة المعادة== | |||
تعاد القيمة <code>true</code> عند نجاح عملية التحميل، أو القيمة <code>false</code> خلاف ذلك. | |||
==أمثلة== | ==أمثلة== | ||
مثال على استخدام التابع <code>require</code>: | مثال على استخدام التابع <code>require</code>:<syntaxhighlight lang="ruby">require "my-library.rb" | ||
<syntaxhighlight lang="ruby">require "my-library.rb" | |||
require "db-driver"</syntaxhighlight> | require "db-driver"</syntaxhighlight> | ||
==انظر أيضا== | ==انظر أيضا== | ||
* التابع <code>[[Ruby/Kernel/ | *التابع <code>[[Ruby/Kernel/require relative|require_relative]]</code>: عند استدعاء هذا التابع ستحاول روبي تحميل المكتبة المسماة في المعامل المعطى. | ||
==مصادر== | ==مصادر== | ||
*[http://ruby-doc.org/core-2.5.1/Kernel.html#method-i-require قسم | *[http://ruby-doc.org/core-2.5.1/Kernel.html#method-i-require قسم التابع require في الصنف Kernel في توثيق روبي الرسمي.] |
المراجعة الحالية بتاريخ 08:54، 16 نوفمبر 2018
يُحمِّل التابع require
ميزة محدَّدة ثمَّ يعيد true
في حال نجح في ذلك، أو false
إذا كانت الميزة (feature) مُحملة سلفًا.
ستكون كل الثوابت والمتغيرات العامة (global) الموجودة في الملف المصدري المُحمل متاحةً في مجال أسماء البرنامج المُستدعِي (calling program) العام (global namespace). لكن لن تنتشر المتغيرات المحلية في بيئة التحميل.
البنية العامة
require(name) → true or false
المعاملات
name
اسم الملف المراد تحميله. إذا لم يكن بالإمكان استبيان اسم الملف إلى مسار مطلق (absolute path)، فسيتم البحث عنه في المجلدات المدرجة في (:$) $LOAD_PATH
.
إذا كان لاسم الملف الامتداد ".rb"
، فسيُحمّل كملف مصدري؛ وإذا كان الامتداد هو ".so
" أو ".o
" أو ".dll
" أو الامتدادّ الافتراضي للمكتبات المشتركة لنظام التشغيل الحالي، فستُحمّل روبي المكتبة المشتركة كإضافة. خلاف ذلك، ستحاول روبي أن تضيف للاسم الامتدادات ".rb
" أو ".so
" ...إلخ. حتى تعثر على الملف. إذا تعذر العثور على الملف المسمى، سيُطلَق الخطأ LoadError
.
بالنسبة لملحقات روبي، قد يستخدم اسم الملف المُعطى أي امتداد من امتدادات المكتبة المشتركة. على سبيل المثال، في نظام لينكس، امتداد المقبس هو "socket.so
" وسيُحمّل استدعاء التابع بالشكل require 'socket.dll'
ملحق المقبس (.socket extension).
يُضاف المسار المطلق للملف المحمّل إلى $LOADED_FEATURES ($")
. لن يتم تحميل الملف مرة أخرى إذا كان مساره موجودًا سلفًا في $"
. على سبيل المثال، لن يحمِّل الاستدعاء require 'a'; require './a'
الملف a.rb
مرةً أخرى.
القيمة المعادة
تعاد القيمة true
عند نجاح عملية التحميل، أو القيمة false
خلاف ذلك.
أمثلة
مثال على استخدام التابع require
:
require "my-library.rb"
require "db-driver"
انظر أيضا
- التابع
require_relative
: عند استدعاء هذا التابع ستحاول روبي تحميل المكتبة المسماة في المعامل المعطى.