نتائج البحث
اذهب إلى التنقل
اذهب إلى البحث
الوحدة File::Constants في روبي
توفر الوحدة File::Constants ثوابت متعلقة بالملفات في روبي. جميع ثوابت الملفات المحتملة موثَّقة هنا ولكن ليس بالضرورة أن تكون كلها متاحة على منصتك. إن كانت المنصة الأساسية لا تعرِّف ثابتًا ما، فلن يُعرَّف ثابت روبي المقابل له. قد تجد بعض المعلومات المفيدة في توثيقات المنصة التي تعمل عليها (مثل الدليل man للدالة open(2)). الثوابت APPEND الإضافة عند كل عملية كتابة. BINARY تعطيل تحويل الشيفرة السطري. CREAT إنشاء ملف إن لم يكن موجودًا. DIRECT محاولة تصغير ثأتيرات الذاكرة المخبَّأة (cache) للدخل ...
الدالة constant() في PHP
(PHP 4 >= 4.0.4, PHP 5, PHP 7) تعيدُ الدالة constant() قيمة ثابتٍ ما. الوصف mixed constant ( string $name )
تعيدُ الدالة constant() قيمة الثابت المشار إليه بالمعامل name. الدالة constant() مفيدة إذا كنت بحاجة إلى استرداد قيمة ثابت، ولكن لا تعرف اسمه. أي أنه مُخَزَّنٌ في متغير أو مُعَادٌ بواسطة دالة. تعمل الدالة constant() أيضًا مع ثوابت الأصناف. العوامل name اسم الثابت. القيم المعادة إعادة قيمة الثابت، أو NULL إذا لم يكن الثابت مُعرَّفًا. الأخطاء والاستثناءات يُنشأ خطأ من ...
التابع Module.const_set في روبي
يضبط التابع const_set قيمة ثابت محدَّد إلى قيمة الكائن المعطى ثم يعيد ذلك الكائن. في حال لم يكن هناك ثابت يحمل الاسم المعطى، فسيُنشئ ثابت جديد ويسند إلى تلك القيمة. البنية العامة const_set(sym, obj) → obj
const_set(str, obj) → obj
المعاملات sym رمز يمثل الثابت. إذا لم يكن المعامل sym اسم ثابت صالح، فسيُطلق الخطأ NameError مع التحذير "wrong constant name". obj الكائن المراد ضبط قيمته إلى الثابت. str سلسلة نصية تمثل الثابتة. إذا لم يكن المعامل str اسم ثابت صالح، فسيُطلق ...
التابع Module.constants في روبي
يعيد التابع constants مصفوفة من أسماء كل الثوابت التي يمكن الوصول إليها لحظة الاستدعاء. تتضمن هذه القائمة أسماء جميع الوحدات والأصناف المحددة في النطاق العام (global scope). البنية العامة constants→ array
القيمة المعادة تعاد مصفوفة من أسماء كل الثوابت التي يمكن الوصول إليها لحظة الاستدعاء. أمثلة مثال على استخدام التابع constants: Module.constants.first(4)
# => [:ARGF, :ARGV, :ArgumentError, :Array]
Module.constants.include?(:SEEK_SET) # => false
class IO
Module.constants.include?(:SEEK_SET) # => true
end
انظر أيضا التابع const_set: يضبط قيمة الثابت المعطى عند الكائن المحدد، ...
التابع Module.constants في روبي
يعيد التابع constants مصفوفة من أسماء كل الثوابت التي يمكن الوصول إليها من الوحدة. هذا يتضمن أسماء الثوابت في الوحدات المُتضمنة إلا إن مُرِّرت القيمة false. لا يوجد ضمانة لمعرفة الترتيب الذي ستُعاد به الثوابت. البنية العامة constants(inherited)→ array
المعاملات inherited قيمة منطقية إن كانت false، فلن تشمل المصفوفة المعادة أسماء الثوابت في الوحدات المُتضمنة. القيمة المعادة تعاد مصفوفة من أسماء كل الثوابت التي يمكن الوصول إليها من الوحدة. أمثلة مثال على استخدام التابع constants: IO.constants.include?(:SYNC) ...
التابع Module.const_defined? في روبي
يتحقق التابع const_defined? مما إذا كانت الوحدة التي استُدعي معها أو أحد أسلافها (ancestors) تحوي الثابت المعطى. Float.const_defined?(:EPSILON) #=> true, found in Float itself
Float.const_defined?("String") #=> true, found in Object (ancestor)
BasicObject.const_defined?(:Hash) #=> false
إذا كانت الوحدة من النوع Module، فسيتم إضافة إلى ذلك فحص Object وكذلك أسلافه. Math.const_defined?(:String) #=> true, found in Object
في كل الأصناف أو الوحدات المفحوصة، إذا لم يكن الثابت موجودًا وكان التحميل التلقائي (autoload) مفعلًا له، ...
التابع Module.const_get في روبي
يتحقق التابع const_get من وجود ثابت باسم محدد في الوحدة التي استُدعي معها. في حال تعيين المعامل inherit، فسيشمل البحث الأسلاف أيضًا (وكذلك Object إن كانت الوحدة من النوع Module). تُعاد قيمة الثابت إذا عُثر على تعريف له؛ خلا ذلك، سيُطلق الخطأ NameError. Math.const_get(:PI) #=> 3.14159265358979
سيبحث التابع const_get بشكل تكراري (recursively) عن أسماء الثوابت إذا تم توفير اسم صنف من مجال أسماء (namespaced class name). اطلع مثلًا على المثال التالي: module Foo; class Bar; end end
Object.const_get 'Foo::Bar'
تؤخذ الراية inherit بالحسبان ...
التابع Module.nesting في روبي
يعيد التابع nesting قائمة من الوحدات المتشعبة (Modules nested) لحظة الاستدعاء. البنية العامة nesting → array
القيمة المعادة تعاد مصفوفة تحوي قائمة من الوحدات المتشعبة لحظة الاستدعاء. أمثلة مثال على استخدام التابع nesting: module M1
module M2
$a = Module.nesting
end
end
$a #=> [M1::M2, M1]
$a[0].name #=> "M1::M2"
انظر أيضا التابع constants: يعيد مصفوفة مكونة أسماء كل الثوابت التي يمكن الوصول إليها لحظة الاستدعاء. التابع new: ينشئ وحدة مجهولة ...
الصنف 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 يعيد قائمة بأسماء المتغيرات المحلية المُعرّفة حيث أُطلٍق ...
ثوابت الأصناف في PHP
يمكن تعريف قيم ثابتة لا يمكن تعديلها ولكل صنفٍ على حدة. تختلف الثوابت عن المتغيرات الاعتيادية في عدم استخدام العلامة $ للتصريح عنها أو استخدامها. تمتلك ثوابت الأصناف قابلية رؤية من نوع public. يجب أن تكون القيمة تعبيرًا ثابتًا وليس (على سبيل المثال) متغيرًا أو خاصّية أو استدعاء دالة. يمكن للواجهات interfaces أن تمتلك ثوابت أيضًا. راجع التوثيق الخاص بالواجهات لمشاهدة الأمثلة. منذ الإصدار 5.3.0، أصبح بالإمكان استخدام المتغيرات للإشارة إلى الصنف، ولا يمكن أن يحمل المتغير قيمة تمثّل إحدى ...
ثوابت الأصناف في PHP
يمكن تعريف قيم ثابتة لا يمكن تعديلها ولكل صنفٍ على حدة. تختلف الثوابت عن المتغيرات الاعتيادية في عدم استخدام العلامة $ للتصريح عنها أو استخدامها. تمتلك ثوابت الأصناف قابلية رؤية من نوع public. يجب أن تكون القيمة تعبيرًا ثابتًا وليس (على سبيل المثال) متغيرًا أو خاصّية أو استدعاء دالة. يمكن للواجهات interfaces أن تمتلك ثوابت أيضًا. راجع التوثيق الخاص بالواجهات لمشاهدة الأمثلة. منذ الإصدار 5.3.0، أصبح بالإمكان استخدام المتغيرات للإشارة إلى الصنف، ولا يمكن أن يحمل المتغير قيمة تمثّل إحدى ...
التابع Module.new في روبي
ينشئ التابع new وحدة مجهولة (anonymous module) جديدة. في حال إعطاء كتلة، فسيٌمرر إليها الوحدة (module)، وستُقيم الكتلة في سياق هذه الوحدة مثل module_eval. اضبط الوحدة وأسند إليها قيمةً ثابتةً (يبدأ اسمها بحرف كبير) إذا كنت تريد معاملتها كأنها وحدة عادية. البنية العامة new→ mod
new {|mod| block }→ mod
القيمة المعادة تعاد وحدة مجهولة (anonymous module) جديدة. أمثلة مثال على استخدام التابع new: fred = Module.new do
def meth1
"hello"
end
def meth2
...
التابع File.to_path في روبي
يعيد التابع to_path سلسلة نصية تمثِّل المسار الذي استُعمِل لإنشاء الملف الذي استدعي معه. لا يعمل هذا التابع على توحيد شكل وبنية المسار (normalize). قد لا يشير اسم المسار إلى الملف المقابل للملف المعطى. على سبيل المثال، يصبح اسم المسار خاويًا (void) عندما يُنقَل أو يحذف الملف. يرمي هذا التابع الاسثناء IOError للملف المعطى إذا كان قد أنشئ باستعمال File::Constants::TMPFILE لأنه لا يملك اسم مسارٍ. البنية العامة to_path → filename
القيمة المعادة تعاد سلسلة نصية تمثِّل المسار الذي استُعمِل لإنشاء الملف ...
التابع File.path في روبي
يعيد التابع path سلسلة نصية تمثِّل المسار الذي استُعمِل لإنشاء الملف الذي استدعي معه. لا يعمل هذا التابع على توحيد شكل وبنية المسار (normalize). قد لا يشير اسم المسار إلى الملف المقابل للملف المعطى. على سبيل المثال، يصبح اسم المسار خاويًا (void) عندما يُنقَل أو يحذف الملف. يرمي هذا التابع الاسثناء IOError للملف المعطى إذا كان قد أنشئ باستعمال File::Constants::TMPFILE لأنه لا يملك اسم مسارٍ. البنية العامة path → filename
to_path → filename
القيمة المعادة تعاد سلسلة نصية تمثِّل المسار الذي استُعمِل ...
التابع Module.define_method في روبي
يعرّف التابع define_method تابع نُسخة (instance method) في المُستقبِل (receiver). في حال تمرير كتلة، فستُستخدم كجسم (body) للتابع. تُقيّم هذه الكتلة باستخدام التابع instance_eval، وهو أمر قد يكون مُشكلًا على البعض، لأن define_method خاصة. (لهذا سنحتال ونستخدم التابع send في المثال التالي.) البنية العامة define_method(symbol, method) → symbol
define_method(symbol) { block }→ symbol
المعاملات symbol رمز. method تابع نُسخة. يمكن أن يكون من النوع Proc أو Method أو UnboundMethod. القيمة المعادة يعاد رمزٌ. أمثلة مثال على استخدام التابع define_method: class A
...
الصنف Module في روبي
الصنف Module هو مجموعة من التوابع والثوابت. التوابع الموجودة في الوحدات Module قد تكون إما توابع نسخة (instance methods)، أو توابع وحدة (module methods). توابع النسخة تظهر كتوابع في صنفٍ عند تضمين الوحدة، وذلك على خلاف توابع الوحدة. وعلى النقيض، يمكن استدعاء توابع الوحدة دون إنشاء كائن يُغلفها، بينما قد لا يمكن فعل ذلك مع توابع النسخة. انظر صفحة module_function. في الأمثلة الموجودة في صفحات التوابع، يشير المعامل sym إلى رمز، والذي قد يكون إما سلسلة نصية، أو كائنًا من النوع ...
الدالة define() في PHP
(PHP 4, PHP 5, PHP 7) تُعرِّف الدالة define() ثابتًا. الوصف bool define ( string $name , mixed $value [, bool $case_insensitive = FALSE ] )
تُستخدم الدالة define() لتعريف ثابتٍ ما بإعطائه اسمًا معينًا. المعاملات name اسم الثابت. value قيمة الثابت. سابقًا في PHP 5، كانت القيمة value التي يمكن أن تُسنَد إلى الثابت constant هي قيمةٌ أوليةٌ فقط (الأعداد الصحيحة، والأعداد العشرية، والسلاسل النصية، والقيم المنطقية، والقيمة NULL) ولاحقًا في PHP 7 بات من الممكن إسناد مصفوفة ...
تبديل الأعداد السحرية بثوابت رمزية (Replace Magic Number with Symbolic Constant)
المشكلة تستخدم الشيفرة البرمجية عددًا له معنىً معين له. الحل استبدال هذا العدد بثابت له اسم يمكن قراءته ويشرح معنى العدد. مثال قبل إعادة التصميم تستخدم الشيفرة التالية العدد 9.81 بالشكل المجرَّد الذي يمثِّل ثابت الجاذبية الأرضية: في لغة Java: double potentialEnergy(double mass, double height) {
return mass * height * 9.81;
}
في لغة C#: double PotentialEnergy(double mass, double height)
{
return mass * height * 9.81;
}
في لغة PHP: function potentialEnergy($mass, $height) {
return $mass * $height * ...
الصنف Class في روبي
تُعدُّ الأصناف كائناتٍ من الدرجة الأولى (first-class objects) في روبي، وتعدُّ جميعها نُسخٌ من الصنف Class. عادةً، يمكن عادةً إنشاء صنف جديد بالشكل التالي: class Name
# تكتب هنا الشيفرة التي تعرف سلوك الصنف
end
عندما يُنشَأ صنف جديد، يهيَّأ كائن من النوع Class ويسند إلى ثابت عام (global constant، هو Name في المثال السابق). عند استدعاء Name.new لإنشاء كائن جديد، يُنفَّذ التابع new الخاص بالصنف Class بشكل افتراضي. يمكن إثبات ذلك من خلال إعادة تعريف التابع new: class Class
alias old_new ...
التابع Struct.new في روبي
ينشئ التابع new صنفًا فرعيًّا جديدًا أو نسخةً جديدةً من الصنف Struct. البنية العامة new([class_name] [, member_name]+)→ StructClass
new([class_name] [, member_name]+, keyword_init: true) → StructClass
new([class_name] [, member_name]+) {|StructClass| block } → StructClass
new(value, ...) → object
StructClass[value, ...]→ object
يُستخدم الشكلان الأولان من التابع new لإنشاء صنف فرعي جديد من Struct يحمل الاسم class_name، والذي يمكن أن يحتوي قيمةً مقابل كل وسيط member_name. يمكن استخدام هذا الصنف الفرعي لإنشاء نسخ من البنية مثل أي صنف آخر. إذا لم يُعطَ الوسيط class_name، فسيُنشِئ التابع ...