الفرق بين المراجعتين ل"Ruby/Kernel/test"
اذهب إلى التنقل
اذهب إلى البحث
(أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: التابع <code>test</code> الخاص بالصنف <code>Kernel</code> في روبي}}</noinclude> تصنيف: Ruby تصنيف...') |
|||
سطر 3: | سطر 3: | ||
[[تصنيف: Ruby Method]] | [[تصنيف: Ruby Method]] | ||
[[تصنيف: Ruby Kernel]] | [[تصنيف: Ruby Kernel]] | ||
− | يستخدم التابع test الحرف <code>cmd</code> لإجراء عدة اختبارات على <code>file1</code> (الجدول الأول أدناه) أو على <code>file1</code> و <code>file2</code> (الجدول الثاني). | + | يستخدم التابع <code>test</code> الحرف المٌعطى <code>cmd</code> لإجراء عدة اختبارات على <code>file1</code> (الجدول الأول أدناه) أو على <code>file1</code> و <code>file2</code> (الجدول الثاني). |
اختبارات <code>File</code> على ملف واحد: | اختبارات <code>File</code> على ملف واحد: | ||
− | + | {| class="wikitable" | |
− | "A" | + | !Cmd |
− | "b" | + | !يعيد |
− | "c" | + | !شرح |
− | "C" | + | |- |
− | "d" | + | |<code>"A"</code> |
− | "e" | + | |Time |
− | "f" | + | |توقيت آخر دخول إلى <code>file1</code> |
− | "g" | + | |- |
− | + | |<code>"b"</code> | |
− | "G" | + | |قيمة منطقية |
− | + | |يعيد <code>True</code> إن كان <code>file1</code> من النوع block device | |
− | "k" | + | |- |
− | "l" | + | |<code>"c"</code> |
− | "M" | + | |قيمة منطقية |
− | "o" | + | |يعيد <code>True</code> إن كان <code>file1</code> من النوع character device |
− | + | |- | |
− | "O" | + | |<code>"C"</code> |
− | + | |Time | |
− | "p" | + | |توقيت آخر تغيير في <code>file1</code> |
− | "r" | + | |- |
− | + | |<code>"d"</code> | |
− | "R" | + | |قيمة منطقية |
− | + | |يعيد <code>True</code> إن كان <code>file1</code> موجودًا وكان مجلدًا | |
− | "s" | + | |- |
− | + | |<code>"e"</code> | |
− | "S" | + | |قيمة منطقية |
− | "u" | + | |يعيد <code>True</code> إن كان <code>file1</code> موجودًا |
− | "w" | + | |- |
− | + | |<code>"f"</code> | |
− | "W" | + | |قيمة منطقية |
− | + | |يعيد <code>True</code> إن كان <code>file1</code> موجودًا وكان ملفا عاديا | |
− | "x" | + | |- |
− | + | |<code>"g"</code> | |
− | "X" | + | |قيمة منطقية |
− | + | |يعيد <code>True</code>إن كانت البتة <code>\CF{setgid}</code>الخاصة بـ<code>file1</code> مُعيّنة (ليست معينة في NT)، | |
− | "z" | + | |- |
− | + | |<code>"G"</code> | |
− | + | |قيمة منطقية | |
− | "=" | + | |يعيد <code>True</code> إن كان <code>file1</code> موجودًا وكانت مجموعته مساوية لمجموعة المُُستدعي. |
− | + | |- | |
− | "<" | + | |<code>"k"</code> |
− | + | |قيمة منطقية | |
− | ">" | + | |يعيد <code>True</code> إن كان <code>file1</code> موجودًا وكانت البتة اللزجة (sticky bit) مُعيّنة. |
− | + | |- | |
+ | |<code>"l"</code> | ||
+ | |قيمة منطقية | ||
+ | |يعيد <code>True</code> إن كان <code>file1</code> موجودًا وكان رابطا رمزيا (symbolic link). | ||
+ | |- | ||
+ | |<code>"M"</code> | ||
+ | |Time | ||
+ | |توقيت آخر تعديل على <code>file1</code> | ||
+ | |- | ||
+ | |<code>"o"</code> | ||
+ | |قيمة منطقية | ||
+ | |يعيد <code>True</code> إن كان <code>file1</code> موجودًا وكان مملوكا المعرف العملي للمُستدعي (caller's effective uid). | ||
+ | |- | ||
+ | |<code>"O"</code> | ||
+ | |قيمة منطقية | ||
+ | |يعيد <code>True</code> إن كان <code>file1</code> موجودًا وكان مملوكا المعرف الحقيقي للمُستدعي (caller's real uid). | ||
+ | |- | ||
+ | |<code>"p"</code> | ||
+ | |قيمة منطقية | ||
+ | |يعيد <code>True</code> إن كان <code>file1</code> موجودًا وكان من النوع fifo | ||
+ | |- | ||
+ | |<code>"r"</code> | ||
+ | |قيمة منطقية | ||
+ | |يعيد <code>True</code> إن كان <code>file1</code> قابلا للقراءة من المعرف العملي للمُستدعي (effective uid/gid of the caller). | ||
+ | |- | ||
+ | |<code>"R"</code> | ||
+ | |قيمة منطقية | ||
+ | |يعيد <code>True</code> إن كان <code>file1</code> قابلا للقراءة من المعرف الحقيقي للمُستدعي (real uid/gid of the caller). | ||
+ | |- | ||
+ | |<code>"s"</code> | ||
+ | |int/nil | ||
+ | |إن كان حجم <code>file1</code> غير معدوم، فسيعيد الحجم، أو سيعيد <code>nil</code>. | ||
+ | |- | ||
+ | |<code>"S"</code> | ||
+ | |قيمة منطقية | ||
+ | |يعيد <code>True</code> إن كان <code>file1</code> موجودًا وكان من النوع socket | ||
+ | |- | ||
+ | |<code>"u"</code> | ||
+ | |قيمة منطقية | ||
+ | |يعيد <code>True</code>إن كانت البتة <code>setuid</code> الخاصة بـ<code>file1</code> مُعيّنة | ||
+ | |- | ||
+ | |<code>"w"</code> | ||
+ | |قيمة منطقية | ||
+ | |يعيد <code>True</code> إن كان <code>file1</code> قابلا للكتابة من المعرف العملي للمُستدعي (effective uid/gid of the caller). | ||
+ | |- | ||
+ | |<code>"W"</code> | ||
+ | |قيمة منطقية | ||
+ | |يعيد <code>True</code> إن كان <code>file1</code> قابلا للكتابة من المعرف الحقيقي للمُستدعي (real uid/gid of the caller). | ||
+ | |- | ||
+ | |<code>"x"</code> | ||
+ | |قيمة منطقية | ||
+ | |يعيد <code>True</code> إن كان <code>file1</code> قابلا للتنفيذ من المعرف العملي للمُستدعي (effective uid/gid of the caller). | ||
+ | |- | ||
+ | |<code>"X"</code> | ||
+ | |قيمة منطقية | ||
+ | |يعيد <code>True</code> إن كان <code>file1</code> قابلا للتنفيذ من المعرف الحقيقي للمُستدعي (real uid/gid of the caller). | ||
+ | |- | ||
+ | |<code>"z"</code> | ||
+ | |قيمة منطقية | ||
+ | |يعيد <code>True</code> إن كان <code>file1</code> موجودًا وطوله غير معدوم | ||
+ | |} | ||
+ | الاختبارات التي تشمل ملفين: | ||
+ | {| class="wikitable" | ||
+ | |<code>"-"</code> | ||
+ | |قيمة منطقية | ||
+ | |يعيد <code>True</code> إن كان <code>file1</code> و <code>file2</code> متطابقين. | ||
+ | |- | ||
+ | |<code>"="</code> | ||
+ | |قيمة منطقية | ||
+ | |يعيد <code>True</code> إن كان توقيت تعديل <code>file1</code> و <code>file2</code> متساويين. | ||
+ | |- | ||
+ | |<code>"<"</code> | ||
+ | |قيمة منطقية | ||
+ | |يعيد <code>True</code> إن كان توقيت تعديل <code>file1</code> قبل توقيت تعديل <code>file2</code>. | ||
+ | |- | ||
+ | |<code>">"</code> | ||
+ | |قيمة منطقية | ||
+ | |يعيد <code>True</code> إن كان توقيت تعديل <code>file1</code> بعد توقيت تعديل<code>file2</code>. | ||
+ | |} | ||
+ | |||
==البنية العامة== | ==البنية العامة== | ||
<syntaxhighlight lang="ruby">test(cmd, file1 [, file2] ) → obj</syntaxhighlight> | <syntaxhighlight lang="ruby">test(cmd, file1 [, file2] ) → obj</syntaxhighlight> | ||
==المعاملات== | ==المعاملات== | ||
===<code>cmd</code>=== | ===<code>cmd</code>=== | ||
+ | يحدد الخيارات. | ||
===<code>file1</code>=== | ===<code>file1</code>=== | ||
+ | الملف الأول. | ||
===<code>file2</code>=== | ===<code>file2</code>=== | ||
− | + | الملف الثاني. | |
==القيمة المُعادة== | ==القيمة المُعادة== | ||
+ | يعيد كائنا بحسب قيمة الوسيط <code>cmd</code> (انظر الجدولين أعلاه). | ||
==انظر أيضا== | ==انظر أيضا== | ||
− | * التابع <code>[[Ruby/Kernel/system|system]]</code>: ينفذ التابع system الوسيط | + | * التابع <code>[[Ruby/Kernel/system|system]]</code>: ينفذ التابع system الوسيط المعطى في صدفة فرعية (subshell). |
− | |||
==مصادر== | ==مصادر== | ||
*[http://ruby-doc.org/core-2.5.1/Kernel.html#method-i-test قسم التابع test في الصنف Kernel في توثيق روبي الرسمي.] | *[http://ruby-doc.org/core-2.5.1/Kernel.html#method-i-test قسم التابع test في الصنف Kernel في توثيق روبي الرسمي.] |
مراجعة 23:31، 23 أكتوبر 2018
يستخدم التابع test
الحرف المٌعطى cmd
لإجراء عدة اختبارات على file1
(الجدول الأول أدناه) أو على file1
و file2
(الجدول الثاني).
اختبارات File
على ملف واحد:
Cmd | يعيد | شرح |
---|---|---|
"A"
|
Time | توقيت آخر دخول إلى file1
|
"b"
|
قيمة منطقية | يعيد True إن كان file1 من النوع block device
|
"c"
|
قيمة منطقية | يعيد True إن كان file1 من النوع character device
|
"C"
|
Time | توقيت آخر تغيير في file1
|
"d"
|
قيمة منطقية | يعيد True إن كان file1 موجودًا وكان مجلدًا
|
"e"
|
قيمة منطقية | يعيد True إن كان file1 موجودًا
|
"f"
|
قيمة منطقية | يعيد True إن كان file1 موجودًا وكان ملفا عاديا
|
"g"
|
قيمة منطقية | يعيد True إن كانت البتة \CF{setgid} الخاصة بـfile1 مُعيّنة (ليست معينة في NT)،
|
"G"
|
قيمة منطقية | يعيد True إن كان file1 موجودًا وكانت مجموعته مساوية لمجموعة المُُستدعي.
|
"k"
|
قيمة منطقية | يعيد True إن كان file1 موجودًا وكانت البتة اللزجة (sticky bit) مُعيّنة.
|
"l"
|
قيمة منطقية | يعيد True إن كان file1 موجودًا وكان رابطا رمزيا (symbolic link).
|
"M"
|
Time | توقيت آخر تعديل على file1
|
"o"
|
قيمة منطقية | يعيد True إن كان file1 موجودًا وكان مملوكا المعرف العملي للمُستدعي (caller's effective uid).
|
"O"
|
قيمة منطقية | يعيد True إن كان file1 موجودًا وكان مملوكا المعرف الحقيقي للمُستدعي (caller's real uid).
|
"p"
|
قيمة منطقية | يعيد True إن كان file1 موجودًا وكان من النوع fifo
|
"r"
|
قيمة منطقية | يعيد True إن كان file1 قابلا للقراءة من المعرف العملي للمُستدعي (effective uid/gid of the caller).
|
"R"
|
قيمة منطقية | يعيد True إن كان file1 قابلا للقراءة من المعرف الحقيقي للمُستدعي (real uid/gid of the caller).
|
"s"
|
int/nil | إن كان حجم file1 غير معدوم، فسيعيد الحجم، أو سيعيد nil .
|
"S"
|
قيمة منطقية | يعيد True إن كان file1 موجودًا وكان من النوع socket
|
"u"
|
قيمة منطقية | يعيد True إن كانت البتة setuid الخاصة بـfile1 مُعيّنة
|
"w"
|
قيمة منطقية | يعيد True إن كان file1 قابلا للكتابة من المعرف العملي للمُستدعي (effective uid/gid of the caller).
|
"W"
|
قيمة منطقية | يعيد True إن كان file1 قابلا للكتابة من المعرف الحقيقي للمُستدعي (real uid/gid of the caller).
|
"x"
|
قيمة منطقية | يعيد True إن كان file1 قابلا للتنفيذ من المعرف العملي للمُستدعي (effective uid/gid of the caller).
|
"X"
|
قيمة منطقية | يعيد True إن كان file1 قابلا للتنفيذ من المعرف الحقيقي للمُستدعي (real uid/gid of the caller).
|
"z"
|
قيمة منطقية | يعيد True إن كان file1 موجودًا وطوله غير معدوم
|
الاختبارات التي تشمل ملفين:
"-"
|
قيمة منطقية | يعيد True إن كان file1 و file2 متطابقين.
|
"="
|
قيمة منطقية | يعيد True إن كان توقيت تعديل file1 و file2 متساويين.
|
"<"
|
قيمة منطقية | يعيد True إن كان توقيت تعديل file1 قبل توقيت تعديل file2 .
|
">"
|
قيمة منطقية | يعيد True إن كان توقيت تعديل file1 بعد توقيت تعديلfile2 .
|
البنية العامة
test(cmd, file1 [, file2] ) → obj
المعاملات
cmd
يحدد الخيارات.
file1
الملف الأول.
file2
الملف الثاني.
القيمة المُعادة
يعيد كائنا بحسب قيمة الوسيط cmd
(انظر الجدولين أعلاه).
انظر أيضا
- التابع
system
: ينفذ التابع system الوسيط المعطى في صدفة فرعية (subshell).