نتائج البحث
اذهب إلى التنقل
اذهب إلى البحث
سحب التابع لأعلى (Pull Up Method)
المشكلة تحتوي الأصناف الفرعية على توابع تؤدي نفس العمل. الحل جعل التوابع متطابقة ثم نقلها إلى الصنف الأعلى ذي الصلة. مثال قبل إعادة التصميم يحتوي الصنفان الفرعيان Soldier و Tank على التابع ()getHealth الذي يؤدي نفس العمل: تحتوي الأصناف الفرعية على التابع ()getHealth تؤدي نفس العمل. بعد إعادة التصميم نقل التابع ()getHealth إلى الصنف Unit الأب وإزالته من الأصناف الفرعية: نقل التابع ()getHealth إلى الصنف الأعلى. لم إعادة التصميم؟ تنمو الأصناف الفرعية وتتطور بشكل مستقل عن بعضها البعض، مما يتسبب ...
تبديل المعاملات باستدعاءات التوابع (Replace Parameter with Method Call)
المشكلة استدعاء تابع استعلام (query method) وتمرير نتائجه كمعاملات لتابع آخر، في حين أنه يمكن لهذا التابع استدعاء الاستعلام مباشرة. الحل بدلًا من تمرير القيمة من خلال المعامل، حاول وضع استدعاء الاستعلام داخل متن التابع. مثال قبل إعادة التصميم تخزين القيمة التي يعيدها كلٌّ من التابعين ()getSeasonalDiscount و ()getFees في متغير ثم تمريرها إلى التابع ()discountedPrice: في لغة Java: int basePrice = quantity * itemPrice;
double seasonDiscount = this.getSeasonalDiscount();
double fees = this.getFees();
double finalPrice = discountedPrice(basePrice, seasonDiscount, fees);
في لغة C#: int basePrice ...
استبدال المعامل بتوابع صريحة (Replace Parameter with Explicit Methods)
المشكلة ينقسم التابع إلى أجزاء، كل منها يتم تشغيله اعتمادًا على قيمة المعامل. الحل استخراج الأجزاء الفردية من التابع إلى توابعها الخاصة واستدعائها بدلًا من استدعاء التابع الأصلي. مثال قبل إعادة التصميم وجود تابع يدعى ()setValue يضبط قيمة الارتفاع والعرض بناءً على تمرير سلسلة نصية صريحة بذلك: في لغة Java: void setValue(String name, int value) {
if (name.equals("height")) {
height = value;
return;
}
if (name.equals("width")) {
width ...
استبدال المُنشئ بتابع التصميم (Replace Constructor with Factory Method)
المشكلة لديك مُنشئ (constructor) معقد يقوم بما هو أكثر من مجرد وضع قيم المعامل في حقول الكائن. الحل إنشاء تابع تصميم واستخدامه لاستبدال استدعاءات المُنشئ. مثال قبل إعادة التصميم وجود منشئ معقد للصنف Employee: في لغة Java: class Employee {
Employee(int type) {
this.type = type;
}
//...
}
في لغة C#: public class Employee
{
public Employee(int type)
{
this.type = type;
}
//...
}
في لغة PHP: class ...
التابع Method.parameters في روبي
يعيد التابع parameters معلومات عن معاملات الكائن Method الذي استُدعي معه. البنية العامة parameters → array
القيمة المعادة تعاد مصفوفة تحوي معلومات عن وسائط الكائن Method المعطى. أمثلة مثال على استخدام التابع parameters: def foo(bar); end
method(:foo).parameters #=> [[:req, :bar]]
def foo(bar, baz, bat, &blk); end
method(:foo).parameters #=> [[:req, :bar], [:req, :baz], [:req, :bat], [:block, :blk]]
def foo(bar, *args); end
method(:foo).parameters #=> [[:req, :bar], [:rest, :args]]
def foo(bar, baz, *args, &blk); end
method(:foo).parameters #=> [[:req, :bar], [:req, :baz], [:rest, :args], [:block, :blk]]
انظر أيضا التابع owner: يعيد الصنف ...
التابع Object.method في روبي
يبحث التابع method عن تابعٍ باسمٍ محدَّد في الكائن المعطى بوصفه مستقبلًا (receiver)، ثمَّ يعيد كائنًا من النوع Method لذلك التابع (أو يرمي الاستثناء NameError). يتصرَّف الكائن Method كتعبيرٍ مغلق (closure) في نسخ الكائن الخاصة بالكائن الذي يبحث فيه؛ لذلك، تبقى متغيِّرات النسخة (instance variables) وقيمة self متاحةً. البنية العامة method(sym) → method
المعاملات sym رمزٌ يشير إلى اسم التابع المراد البحث عنه. القيم المعادة يُعاد كائنًا من النوع Method يمثِّل التابع الموافق للاسم sym الموجود في الكائن المعطى، أو ...
التابع Method.to_proc في روبي
يعيد التابع to_proc الكائن Proc المقابل للكائن Method الذي استُدعي معه. البنية العامة to_proc → proc
القيمة المعادة يعاد كائنٌ من النوع Proc الذي يقابل الكائن Method المعطى. انظر أيضا التابع super_method: يعيد كائنًا من النوع Method للصنف الأب (superclass) للكائن Method الذي استدعي معه. التابع to_s: يعيد اسم التابع الأصلي (underlying method). مصادر قسم التابع to_proc في الصنف Method في توثيق روبي الرسمي.
التابع Method.super_method في روبي
يعيد التابع super_method كائنًا من النوع Method للصنف الأب (superclass) للكائن Method الذي استدعي معه لاستدعائه عند استخدام super، أو يعيد nil إن لم يكن هناك تابع في الصنف الأب. البنية العامة super_method → method
القيمة المعادة يعاد كائن من النوع Method للصنف الأب للكائن Method المعطى، أو تعاد القيمة nil إن لم يكن هناك تابع في الصنف الأب. انظر أيضا التابع source_location: يعيد اسم الملف المصدر لروبي ورقم السطر الذي يحتوي هذا التابع، التابع to_proc: يعيد كائنًا من النوع Proc المقابل ...
التابع Object.define_singleton_method في روبي
يُعرِّف التابع define_singleton_method تابعًا منفردًا (singleton method) في المستقبل (receiver). البنية العامة define_singleton_method(symbol, method) → symbol
define_singleton_method(symbol) { block } → symbol
المعاملات symbol الرمز المُمرَّر إلى التابع والذي سيُعرِّف التابع المنفرد. method التابع المُمرَّر كمعامل. يمكن أن يكون هذا التابع كائنًا من النوع proc، أو Method، أو UnboundMethod. block وسيط اختياري يمثِّل الكتلة المُمرَّرة إلى التابع. إذا أعطي، فستُنفَّذ الكتلة المعطاة كما لو أنَّها من جسم التابع method. القيم المعادة يُعاد تابعٌ منفردٌ يمكن استدعائه في المستقبل. أمثلة مثالٌ عن ...
التابع 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))
> #=> ...
الصنف UnboundMethod في روبي
تدعم روبي شكلين من التوابع الكائنية (objectified methods). يستخدم الصنف Method لتمثيل التوابع المرتبطة بكائن معين، ويمكن إنشاء كائنات التوابع من هذا النوع عبر التابع Object.method. تدعم روبي أيضًا التوابع الحرة (unbound methods)؛ وهي كائنات توابع غير مرتبطة بكائن معين. يمكن إنشاؤها إما عن طريق استدعاء Module.instance_method، أو عن طريق استدعاء unbind على تابع مرتبط (bound method object). نتيجة كليهما ستكون تابعًا حرًا (كائن من النوع UnboundMethod). لا يمكن استدعاء التوابع الحرة إلا بعد ربطها بكائن ما. ويجب أن يعيد ...
التابع Method.to_s في روبي
يعيد التابع to_s اسم التابع الأصلي (underlying method). البنية العامة to_s→ string
القيمة المعادة تعاد سلسلة نصية تمثِّل اسم التابع الأصلي. أمثلة مثال على استخدام التابع to_s: "cat".method(:count).inspect #=> "#<Method: String#count>"
انظر أيضا التابع to_proc: يعيد الكائنً Proc المقابل للكائن Method الذي استدعي معه. التابع unbind: يفك ارتباط الكائن Method من مُستقبِله (receiver) الحالي. مصادر قسم التابع to_s في الصنف Method في توثيق روبي الرسمي.
التابع Method.receiver في روبي
يعيد التابع receiver المستقبل المتلقي (bound receiver) للكائن Method الذي استُدعي معه. البنية العامة receiver → object
القيمة المعادة يعاد المستقبل المتلقي (bound receiver) للكائن Method المعطى. انظر أيضا التابع parameters: يعيد معلومات عن معاملات الكائن Method الذي استُدعي معه. التابع source_location: يعيد اسم الملف المصدر لروبي ورقم السطر الذي يحتوي كائن Method الذي استُدعي معه.. مصادر قسم التابع receiver في الصنف Method في توثيق روبي الرسمي.
التابع UnboundMethod.to_s في روبي
يعيد التابع to_s اسم التابع الأصلي (underlying method) للتابع الحر الذي استدعي معه. البنية العامة to_s→ string
القيمة المعادة يعاد اسم التابع الأصلي (underlying method) للتابع الحر المعطى. أمثلة مثال على استخدام التابع to_s: "cat".method(:count).inspect #=> "#<Method: String#count>"
انظر أيضًا التابع inspect: يعيد اسم التابع الأصلي (underlying method) للتابع الحر الذي استُدعي معه. التابع original_name: يعيد الاسم الأصلي للتابع الحر الذي استُدعي معه. مصادر قسم التابع to_s في الصنف UnboundMethod في توثيق روبي الرسمي.
التابع Method.eql? في روبي
يتحقق التابع ?eql من تساوي كائنين من النوع Method. يكون كائنان من النوع Method متساويتين إذا كانا مرتبطين بنفس الكائن، ولهما نفس التعريف، وكانا مملوكين من قبل نفس الصنف أو الوحدة. البنية العامة eql?(other_meth) → true or false
المعاملات other_meth كائن من النوع Method يراد التحقق من تساويه مع الكائن المعطى. القيمة المعادة تعاد القيمة true إن كان الكائن المعطى مساويًا للكائن other_meth، وإلا فستعاد القيمة false. انظر أيضا التابع ==: يتحقق من تساوي كائنين من النوع Method. مصادر قسم التابع ...
التابع Method.source_location في روبي
يعيد التابع source_location اسم الملف المصدر لروبي ورقم السطر الذي يحتوي للتابع Method الذي استدعي معه، أو يعيد القيمة nil إن لم يُعرّف هذا التابع في روبي (أي أنه أصلي). البنية العامة source_location → [String, Integer]
القيمة المعادة يعاد اسم الملف المصدر لروبي ورقم السطر الذي يحتوي للتابع Method المعطى، أو تعاد القيمة nil إن لم يُعرّف هذا التابع في روبي. انظر أيضا التابع receiver: يعيد المستقبل المتلقي (bound receiver) لكائن Method. التابع super_method: يعيد كائنًا من النوع Method للصنف الأب (superclass)، ...
التابع Method.name في روبي
يعيد name اسم الكائن Method الذي استُدعي معه. البنية العامة name → symbol
القيمة المعادة يعاد رمزٌ يمثِّل اسم الكائن Method الذي استُدعي معه. انظر أيضا التابع inspect: يعيد اسم التابع الأصلي (underlying method). التابع original_name: يعيد الاسم الأصلي للتابع الذي استُدعي معه. مصادر قسم التابع name في الصنف Method في توثيق روبي الرسمي.
التابع Method.hash في روبي
يعيد التابع hash القيمة hash المقابلة للكائن Method الذي استُدعي معه. راجع أيضًا صفحة Object.hash. البنية العامة hash→ integer
القيمة المعادة يعاد عدد صحيح يمثِّل القيمة hash المقابلة للكائن Method المعطى. انظر أيضا التابع inspect: يعيد اسم التابع الأصلي (underlying method). مصادر قسم التابع hash في الصنف Method في توثيق روبي الرسمي.
التابع Enumerator.new في روبي
ينشئ التابع new كائنًا جديدًا من النوع Enumerator يمكن استعماله ككائن قابل للتعداد (Enumerable). البنية العامة new(size = nil) { |yielder| ... }
new(obj, method = :each, *args)
في الشكل الأول للتابع، يُعرَّف التكرار عبر الكتلة المعطاة التي يمكن استخدام الكائن yielder - المعطى كمعامل - فيها لإعادة القيمة الناتجة عبر استدعاء التابع yield (أو اسمه البديل +>>+). في الشكل الثاني - المهمل - للتابع، يتكرر مُعدِّدٌ مُولَّد عبر الكائن obj المعطى باستعمال التابع method المعطى مع تمرير الوسائط args إليه. لا يُشجَّع على ...
التابع Method.inspect في روبي
يعيد inspect اسم التابع الأصلي (underlying method). البنية العامة inspect→ string
القيمة المعادة تعاد سلسلة نصية تمثِّل اسم التابع الأصلي. أمثلة مثال على استخدام التابع inspect: "cat".method(:count).inspect #=> "#<Method: String#count>"
انظر أيضا التابع hash: يعيد القيمة hash المقابلة للكائن Method الذي استُدعي معه. التابع name: يعيد اسم التابع. مصادر قسم التابع inspect في الصنف Method في توثيق روبي الرسمي.
التابع Method.unbind في روبي
يفك التابع unbind ارتباط الكائن Method الذي استُدعي معه من مُستقبِله (receiver) الحالي. يمكن في وقت لاحق ربط الكائن الناتج UnboundMethod مع كائن جديد من نفس الصنف (انظر UnboundMethod). البنية العامة unbind → unbound_method
القيمة المعادة يعاد كائن من النوع UnboundMethod يمثِّل مستقبل الكائن Method المعطى. انظر أيضا التابع to_s: يعيد اسم التابع الأصلي (underlying method). مصادر قسم التابع unbind في الصنف Method في توثيق روبي الرسمي.
التابع UnboundMethod.parameters في روبي
يعيد التابع parameters معلومات عن معاملات التابع الحر الذي استُدعي معه على شكل مصفوفة. البنية العامة parameters → array
القيمة المعادة تعاد مصفوفة تحوي معلومات عن معاملات التابع الحر الذي استُدعي معه على شكل مصفوفة. أمثلة مثال على استخدام التابع parameters: def foo(bar); end
method(:foo).parameters #=> [[:req, :bar]]
def foo(bar, baz, bat, &blk); end
method(:foo).parameters #=> [[:req, :bar], [:req, :baz], [:req, :bat], [:block, :blk]]
def foo(bar, *args); end
method(:foo).parameters #=> [[:req, :bar], [:rest, :args]]
def foo(bar, baz, *args, &blk); end
method(:foo).parameters #=> [[:req, :bar], [:req, :baz], [:rest, ...
الصنف NoMethodError في روبي
يُطلق الاستثناء NoMethodError عند استدعاء تابعٍ مع مستقبِل (receiver) غير مُعرَّف فيه مع فشل الاستجابة للتابع method_missing. "hello".to_ary
سيُطلق الاستثناء NoMethodError عند تنيفذ الشيفرة السابقة بالشكل: NoMethodError: undefined method `to_ary' for "hello":String
توابع الصنف العامة (Public Class Methods) new ينشئ استثناءً من النوع NoMethodError للتابع ذي الاسم المعطى مع الوسائط المُمرَّرة. توابع النسخة العامة (Public Instance Methods) args يعيد الوسائط التي تم تمريرها كمعامل ثالث إلى الباني new. ?private_call مصادر قسم الصنف NoMethodErrorفي توثيق روبي الرسمي.
التابع Method.original_name في روبي
يعيد التابع original_name الاسم الأصلي للكائن Method الذي استُدعي معه. البنية العامة original_name → symbol
القيمة المعادة يعاد رمزٌ يمثِّل الاسم الأصلي للكائن Method المعطى. أمثلة مثال على استخدام التابع original_name: class C
def foo; end
alias bar foo
end
C.instance_method(:bar).original_name # => :foo
انظر أيضا التابع name: يعيد اسم التابع. التابع owner: يعيد الصنف أو الوحدة (module) التي تُعرِّف الكائن Method الذي استُدعي معه. مصادر قسم التابع original_name في الصنف Method في توثيق روبي الرسمي.
التابع UnboundMethod.super_method في روبي
يعيد التابع super_method كائنًا من النوع Method للصنف الأب (superclass)، حتى يمكن استدعاؤه عند استخدام المتغير super، أو يعيد nil إن لم يكن هناك تابع في الصنف الأب. البنية العامة super_method → method
القيمة المعادة يعاد كائنٌ من النوع Method للصنف الأب (superclass)، أو تعاد القيمة nil إن لم يكن هناك تابع في الصنف الأب. انظر أيضًا التابع source_location: يعيد اسم الملف المصدر لروبي ورقم السطر الذي يحتوي هذا التابع. التابع to_s: يعيد الاسم الأصلي التابع الحر (underlying method). مصادر قسم التابع ...
الصنف Object في روبي
يعدُّ الصنف Object الجذر الافتراضي لكل كائنات روبي. يَرِث الصنف Object من الصنف BasicObject ما يسمح بإنشاء تسلسلات هرمية بديلة للكائن. تُتاح توابع الكائن لكل الأصناف ما لم يتم تجاهلها (overridden) صراحةً. تندمج الوحدة Kernel ضمن الصنف Object ما يعطي الوصول العام (global) للدّوال المبنية ضمنيًّا في الوحدة. رغم أنَّ توابع النسخة المنشأة من الصنف Object معرَّفةٌ عن طريق الوحدة Kernel، رأينا أن نوثّقهم هنا لمزيد من الوضوح. عند الإشارة (referencing) إلى الثوابت في الأصناف الوارثة من الصنف Object، لا ...
التابع Module.instance_methods في روبي
يعيد التابع instance_methods مصفوفةً تحتوي على أسماء توابع النسخ (instance methods) العامة والمحمية (protected) في المستقبِل. بالنسبة للوحدات، ستكون التوابع هي العامة والمحمية. أما بالنسبة للأصناف، فستكون تلك التوابع هي توابع النسخ (وليس التوابع المفردة [singleton methods]). إذا كان أعطي المعامل الاختيار وكانت قيمته false، فلن يتم تضمين توابع الأسلاف (ancestors). البنية العامة instance_methods(include_super=true)→ array
المعاملات include_super قيمة منطقية إن أعطيت وكانت false، فلن يتم تضمين توابع الأسلاف (ancestors). القيمة المعادة تعاد مصفوفة تحتوي على أسماء توابع النسخ العامة والمحمية (protected) ...
الصنف Module في روبي
الصنف Module هو مجموعة من التوابع والثوابت. التوابع الموجودة في الوحدات Module قد تكون إما توابع نسخة (instance methods)، أو توابع وحدة (module methods). توابع النسخة تظهر كتوابع في صنفٍ عند تضمين الوحدة، وذلك على خلاف توابع الوحدة. وعلى النقيض، يمكن استدعاء توابع الوحدة دون إنشاء كائن يُغلفها، بينما قد لا يمكن فعل ذلك مع توابع النسخة. انظر صفحة module_function. في الأمثلة الموجودة في صفحات التوابع، يشير المعامل sym إلى رمز، والذي قد يكون إما سلسلة نصية، أو كائنًا من النوع ...
التابع InstructionSequence.disasm في روبي
يأخذ التابع disasm كائنًا يمكن أن يكون من النوع Method أو من النوع Proc ويعيد سلسلة نصية تعليمات قابلة للقراءة لهذا المعامل المعطى. البنية العامة disasm(body) → str
disassemble(body) → str
المعاملات body كائن من النوع Method أو من النوع Proc. القيمة المعادة تعاد سلسلة نصية تحوي المعامل body على هيئة تعليمات قابلة للقراءة. أمثلة مثال على استخدام التابع disasm مع تمرير الكائن Method إليه: # /tmp/method.rb
def hello
puts "hello, world"
end
puts RubyVM::InstructionSequence.disasm(method(:hello))
الناتج سيكون: == disasm: <RubyVM::InstructionSequence:hello@/tmp/method.rb>============
0000 trace ...
التابع InstructionSequence.disassemble في روبي
يأخذ التابع disassemble المعامل body، والذي سيكون إما كائنًا من النوع Method، أو من النوع Proc، ثم يُعيد سلسلة نصية تحوي هذا المعامل على هيئة تعليمات قابلة للقراءة. البنية العامة disasm(body) → str
disassemble(body) → str
المعاملات body كائن من النوع Method أو من النوع Proc. القيمة المعادة تعاد سلسلة نصية تحوي محتوى المعامل body على هيئة تعليمات قابلة للقراءة. أمثلة مثال على استخدام التابع disassemble مع كائن من النوع Method: # /tmp/method.rb
def hello
puts "hello, world"
end
puts RubyVM::InstructionSequence.disasm(method(:hello))
الناتج سيكون: == disasm: ...
الصنف 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 يعيد قائمة بأسماء المتغيرات المحلية المُعرّفة حيث أُطلٍق ...
التابع Method.arity في روبي
يعيد التابع arity مؤشرًا يمثل لعدد الوسائط المقبولة من قبل التابع (method) الذي استُدعي معه. يعيد عددًا صحيحًا غير سالب للتوابع التي تقبل عددًا محددًا من الوسائط. بالنسبة لتوابع روبي التي تأخذ عددًا متغيرًا من الوسائط، يًعاد العدد -n-1، حيث n هو عدد الوسائط المطلوبة. الوسائط المسماة (Keyword arguments) ستُعد وسيطاً إضافيًا واحدًا، وسيكون ذلك الوسيط إلزاميًّا إن كان أيٌّ من الوسائط المسماة كذلك. بالنسبة للتوابع المكتوبة بلغة C، سيُعاد العدد -1 إن كانت تلك التوابع تأخذ عددًا متغيرًا من الوسائط. ...
التابع Object.public_method في روبي
يبحث التابع public_method عن التوابع العامة فقط بشكل مشابه لعمل التابع method. البنية العامة public_method(sym) → method
المعاملات sym رمزٌ يشير إلى اسم التابع المراد البحث عنه. القيم المعادة يُعاد التابع الموافق للاسم sym من الكائن المُعطى، أو يُرمى الاستثناء NameError إذا لم توجد توابع موافقة لهذا الاسم. انظر أيضًا التابع method: يبحث عن تابعٍ باسمٍ محدَّد في الكائن المعطى بوصفه مستقبلًا. التابع public_send: يَستدعي التابع المعرَّف برمزٍ محدَّدٍ ويُنفَّذه تلقائيًا مع تمرير أي معاملاتٍ معطاة. التابع send: يَستدعي التابع ...
التابع Object.methods في روبي
يُعيد التابع methods قائمةً بالتوابع العامَّة والمحميَّة للكائن المعطى. تتضمن هذه القائمة جميع التوابع المتاح الوصول إليها في أسلاف (ancestors) الكائن. إذا مُرِّرت القيمة false للمعامل الاختياري الوحيد في التابع، فسيُعيد مصفوفةً من توابع الكائن (أو عددًامحدَّدًا من الكائنات) المنفردة (singleton) العامَّة والمحميَّة. لن تحتوي هذه المصفوفة على توابع الوحدات المُضمَّنة في الكائن (أو عددًا محدَّدًا من الكائنات). البنية العامة methods(regular=true) → array
المعاملات regular معامل اختياري يأخذ القيمة true (الافتراضيَّة) أو flase. القيم المعادة تُعاد مصفوفةٌ تحوي جميع توابع ...
التابع Module.method_undefined في روبي
غير موثَّق بعد. انظر أيضا التابع method_removed: يستدعى كرد نداء في كل مرة يُزال تابع نسخة (instance method) من المُستقبِل (receiver). التابع method_defined?: يتحقق إن كان التابع المعطى مُعرّفًا في الوحدة أو الصنف. التابع method_added: يُستدعى في كل مرة يُضاف تابع نسخة (instance method) إلى المُستقبِل (receiver). مصادر قسم التابع method_undefined في الصنف Module في توثيق روبي الرسمي.
التابع UnboundMethod.arity في روبي
يعيد المعامل arity مؤشرًا لعدد الوسائط المقبولة من قبل تابع. البنية العامة arity → integer
القيمة المعادة يعاد عدد صحيحً غير سالب للتوابع التي تأخذ عددًا محددًا من الوسائط. بالنسبة لتوابع روبي التي تأخذ عددًا متغيرًا من الوسائط، يًعاد العدد -n-1، حيث n هو عدد الوسائط المطلوبة. الوسائط المسماة (Keyword arguments) ستُعيد وسيطًا إضافيًا واحدًا، وسيكون ذلك الوسيط إلزاميًّا إن كان أيٌّ من الوسائط المسماة كذلك. بالنسبة للتوابع المكتوبة بلغة C، سيُعاد العدد -1 إن كان استدعاء تلك التوابع يأخذ ...
الصنف Struct في روبي
يُعدُّ استخدام الصنف Struct طريقةً ملائمةً لتجميع مجموعة من الخاصيات (attributes) معًا، باستخدام مداخل (accessor methods) دون الحاجة إلى كتابة صنف جديد. يُنشئ الصنف Struct أصنافًا فرعيةً (subclasses) جديدةً تحمل مجموعة من الأعضاء مقرونة بقيمها. لكل عضو يتم إنشاء قارئ (reader method) وكاتب (writer method) مشابهين للتابع Module.attr_accessor. Customer = Struct.new(:name, :address) do
def greeting
"Hello #{name}!"
end
end
dave = Customer.new("Dave", "123 Main")
dave.name #=> "Dave"
dave.greeting #=> "Hello Dave!"
راجع صفحة التابع new ...
التابع 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
...
التابع Method.owner في روبي
يعيد التابع owner الصنف أو الوحدة (module) التي تُعرِّف الكائن Method الذي استُدعي معه. البنية العامة owner → class_or_module
القيمة المعادة يعاد الصنف أو الوحدة التي تُعرِّف الكائن Method المعطى. انظر أيضا التابع original_name: يعيد الاسم الأصلي للتابع الذي استُدعي معه. التابع parameters: يعيد معلومات عن وسائط التابع الذي استُدعي معه. مصادر قسم التابع owner في الصنف Method في توثيق روبي الرسمي.
التابع UnboundMethod.inspect في روبي
يعيد inspect اسم التابع الأصلي (underlying method). البنية العامة inspect→ string
القيمة المعادة يعاد اسم التابع الأصلي المعطى. أمثلة مثال على استخدام التابع inspect: "cat".method(:count).inspect #=> "#<Method: String#count>"
انظر أيضًا التابع hash: يعيد القيمة hash المقابلة التابع الحر الذي استُدعي معه. التابع name: يعيد اسم التابع الحر الذي استدعي معه. مصادر قسم التابع inspect في الصنف UnboundMethod في توثيق روبي الرسمي.
التابع Object.send في روبي
يَستدعي التابع send التابع المعرَّف برمزٍ (symbol) ويُنفَّذه تلقائيًا ويمرِّر إليه أي معاملاتٍ معطاة. يمكنك استخدام الاسم __send__ البديل إذا تضارب الاسم مع توابع موجودةٍ في الكائن تحمل نفس الاسم. إن عُرِّف التابع عن طريق سلسلةٍ نصية، فستُحوَّل تلك السلسلة إلى رمز. البنية العامة send(symbol [, args...]) → obj
__send__(symbol [, args...]) → obj
send(string [, args...]) → obj
__send__(string [, args...]) → obj
المعاملات symbol الرَّمزُ المعرِّف للتابع المُعطى. ...args المعاملات المراد تمريرها إلى التابع. القيم المعادة يُعاد الكائن الناتج عن تنفيذ ...
التابع Module.protected_method_defined? في روبي
يتحقق التابع protected_method_defined? إن كان التابع المحمي (protected) المعطى معرفًا في الوحدة (أو الوحدات المُتضمنة فيه، أو أسلافه إن كان صنفًا). البنية العامة protected_method_defined?(symbol)→ true or false
protected_method_defined?(string)→ true or false
المعاملات symbol رمز يمثل التابع. string سلسلة نصية تمثل التابع. يحول هذا المعامل إن أعطي إلى رمز. القيمة المعادة تعاد القيمة true إن كان التابع المحمي المعطى معرفًا في الوحدة (أو الوحدات المُتضمنة فيه، أو أسلافه إن كان صنفًا). خلا ذلك، تعاد القيمة false. أمثلة مثال على استخدام التابع protected_method_defined?: module ...
الصنف BasicObject في روبي
الصنف BasicObject هو الصنف الأب لجميع الأصناف في روبي، وهو صنف فارغ. يمكن استخدام الصنف BasicObject لإنشاء هرميات كائنية (object hierarchies) مستقلة عن الهرمية الكائنية للغة روبي، أو لإنشاء مغلفات الكائنات (proxy objects) مثل الصنف Delegator، أو حيث يجب تجنب إفساد مجال الأسماء (namespace pollution) من قبل توابع وأصناف روبي. لتجنب إفساد الصنف BasicObject للمستخدمين الآخرين، يجب إنشاء صنف فرعي من الصنف BasicObject تحت اسم مناسب بدلاً من تعديل BasicObject مباشرةً: class MyObjectSystem < BasicObject
end
لا يتضمَّن الصنف BasicObject الوحدة Kernel ...
التابع Object.to_enum في روبي
يُنشئ التابع enum_for نسخةً من الصنف Enumerator الذي يجري عملية عدٍّ (enumerate) وتكرار عبر استدعاء التابع المُمرَّر إليها مع كائنٍ محدَّد، وتمرير وسائط إن أعطيت. إذا مُرِّرت كتلة (block) إلى التابع، فستُستخدم لحساب حجم نسخة الصنف Enumerator دون الحاجة إلى تكرارها (ألقِ نظرة على التابع Enumerator.size). البنية العامة enum_for(method = :each, *args) → enum
enum_for(method = :each, *args){|*args| block} → enum
المعاملات method التابع المُمرَّر. القيمة الافتراضية لهذا المعامل هي: each:. args* الوسائط المراد تمريرها إلى التابع. args| block*| الكتلة ووسائطها ...
التابع Object.enum_for في روبي
يُنشئ التابع enum_for نسخةً من الصنف Enumerator الذي يجري عملية عدٍّ (enumerate) وتكرار عبر استدعاء التابع المُمرَّر إليها مع كائنٍ محدَّد، وتمرير وسائط إن أعطيت. إذا مُرِّرت كتلة (block) إلى التابع، فستُستخدم لحساب حجم نسخة الصنف Enumerator دون الحاجة إلى تكرارها (ألقِ نظرة على التابع Enumerator.size). البنية العامة enum_for(method = :each, *args) → enum
enum_for(method = :each, *args){|*args| block} → enum
المعاملات method التابع الذي ستُطبَّق عليه العملية. القيمة الافتراضية لهذا المعامل هي: each:. args* الوسائط المراد تمريرها إلى التابع. args| ...
التابع Module.method_added في روبي
يُستدعَى التابع method_added في كل مرة يُضاف تابع نسخة (instance method) إلى المُستقبِل (receiver). البنية العامة method_added(method_name)
المعاملات method_name اسم تابع النسخة. أمثلة مثال على استخدام التابع method_added: module Chatty
def self.method_added(method_name)
puts "Adding #{method_name.inspect}"
end
def self.some_class_method() end
def some_instance_method() end
end
ناتج تنفيذ هذا المثال هو: Adding :some_instance_method
انظر أيضا التابع instance_methods: يعيد مصفوفة تحتوي على أسماء توابع النسخ (instance methods) العامة والمحمية (protected) في المستقبِل (receiver). التابع method_defined?: يتحقق إن كان التابع المعطى مُعرّفًا في ...
التابع Module.method_removed في روبي
يستدعى التابع method_removed في كل مرة يُزال تابع نسخة (instance method) من المُستقبِل (receiver). البنية العامة method_removed(method_name)
المعاملات method_name اسم تابع النسخة. أمثلة مثال على استخدام التابع method_removed: module Chatty
def self.method_removed(method_name)
puts "Removing #{method_name.inspect}"
end
def self.some_class_method() end
def some_instance_method() end
class << self
remove_method :some_class_method
end
remove_method :some_instance_method
end
ناتج تنفيذ هذا المثال هو: Removing :some_instance_method
انظر أيضا التابع method_defined?: يتحقق إن كان التابع المعطى مُعرّفًا في الوحدة أو ...
الصنف Proc في روبي
كائنات الصنف Proc هي كتلٌ من الشيفرات البرمجية رُبطت إلى مجموعة من المتغيرات المحليَّة. حالما تُربط، يمكن استدعاء الشيفرة في سياقات مختلفة ويبقى الوصول متاحًا لتلك المتغيرات. def gen_times(factor)
return Proc.new {|n| n*factor }
end
times3 = gen_times(3)
times5 = gen_times(5)
times3.call(12) #=> 36
times5.call(5) #=> 25
times3.call(times5.call(4)) #=> 60
توابع الصنف العامة (Public ...
التابع Module.protected_instance_methods في روبي
يعيد التابع protected_instance_methods قائمة بتوابع النسخة (instance methods) المحمية المعرفة في الوحدة. إذا مُرِّرت قيمة إلى التابع وكانت false، فلن تُتضمّن توابع الأسلاف (ancestors). البنية العامة protected_instance_methods(include_super=true)→ array
المعاملات include_super إذا كان هذا الوسيط يساوي false، فلن تُتضمّن توابع الأسلاف (ancestors). القيمة الافتراضية هي: true. القيمة المعادة تعاد مصفوفة تمثِّل قائمة بتوابع النسخة (instance methods) المحمية المعرفة في الوحدة. انظر أيضا التابع protected: يعين المرئية (visibility) الافتراضية للتوابع المعرفة لاحقًا إلى المرئية protected المحمية. التابع protected_method_defined?: يتحقق إن كان التابع المحمي (protected) المعطى ...
التابع Module.private_instance_methods في روبي
يعيد التابع private_instance_methods قائمة بتوابع النسخة الخاصة (private instance methods) المعرفة في الوحدة. إن مُرِّر إلى التابع القيمة false، فلن تُضمّن توابع الأسلاف (ancestors). البنية العامة private_instance_methods(include_super=true) → array
المعاملات include_super قيمة منطقية إن كانت false، فلن تُضمّن توابع الأسلاف (ancestors). القيمة المعادة تعاد مصفوفة تحوي توابع النسخة الخاصة (private instance methods) المعرفة في الوحدة. أمثلة مثال على استخدام التابع private_instance_methods: module Mod
def method1() end
private :method1
def method2() end
end
Mod.instance_methods ...
الصنف 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 {
...
الصنف SystemCallError في روبي
يعتبر الصنف SystemCallError الصنف الأب لكل أصناف الأخطاء منخفضة المستوى المرتبطة بنظام التشغيل. الأخطاء المتوفرة على نظام التشغيل الحالي هي أصناف فرعية من الصنف SystemCallErrorـ وهي مُعرّفة في الوحدة Errno. File.open("does/not/exist")
عند تنفيذ هذا السطر البرمجي، سيطلق استثناء بالشكل التالي: Errno::ENOENT: No such file or directory - does/not/exist
توابع الصنف العامة (Public Class Methods) === يتحقق إن كان الاستثناء الذي استُدعي معه كائنًا عامًا من الصنف SystemCallError، أو إن كان رقما الخطأ الخاصين بهذا الاستثناء والاستثناء الآخر المعطى متساويين. new ...
التابع Object.singleton_method في روبي
يبحث التابع singleton_method في التوابع المنفردة فقط بطريقة مشابهة للتابع method. البنية العامة singleton_method(sym) → method
المعاملات sym الرمز المعرِّف للتابع المنفرد. القيم المعادة يُعاد التابع الموافق للرمز sym المُعطى. أمثلة مثالٌ عن استخدام التابع singleton_method: class Demo
def initialize(n)
@iv = n
end
def hello()
"Hello, @iv = #{@iv}"
end
end
k = Demo.new(99)
def k.hi
"Hi, @iv = #{@iv}"
end
m = k.singleton_method(:hi)
m.call #=> "Hi, @iv = 99"
m = k.singleton_method(:hello) ...
التابع Object.public_methods في روبي
يُعيد التابع public_methods قائمةً بالتوابع العامَّة (public methods) التي يمتلك الكائن الذي استدعي معه الوصول إليها. إذا مُرِّرت القيمة false إلى التابع، فستحتوي القائمة توابع الكائن المستقبل (receiver) فقط. البنية العامة public_methods(all=true) → array
المعاملات all معامل اختياري يحدِّد التوابع المعادة. يأخذ هذا المعامل القيمة true (افتراضيًا)، أو القيمة false. القيم المعادة تُعاد قائمةٌ بالتوابع العامة التي يمتلك الكائن المعطى الوصول إليها إذا لم يعطَ الكائن all، أو ستُعاد قائمة تحتوي توابع الكائن المستقبل (receiver) فقط إذا أعطي المعامل all ...
التابع Module.public_instance_methods في روبي
يعيد التابع public_instance_methods قائمة بتوابع النسخة العامة (public instance methods) المعرفة في الوحدة. إن مُرِّرت قيمة إلى التابع وكانت false، فلن يتم تضمين توابع الأسلاف (ancestors). البنية العامة public_instance_methods(include_super=true)→ array
المعاملات include_super قيمةمنطقية إن كانت false، فلن يتم تضمين توابع الأسلاف (ancestors). القيمة المعادة تعاد مصفوفة تمثِّل قائمةً بتوابع النسخة العامة (public instance methods) المعرفة في الوحدة. انظر أيضا التابع public: يعين المرئية (visibility) الافتراضية للتوابع المعرفة لاحقًا إلى public العامة. التابع public_instance_method: يبحث عن التوابع العامة (public) وحسب على غرار التابع instance_method. التابع public_method_defined?: يتحقق ...
التابع Object.protected_methods في روبي
يُعيد التابع protected_methods قائمةً بالتوابع المحميَّة (protected methods) التي يمتلك الكائن الذي استدعي معه الوصول إليها. إذا مُرِّرت القيمة false إلى التابع، فستحتوي القائمة توابع الكائن المستقبل (receiver) فقط. البنية العامة protected_methods(all=true) → array
المعاملات all معامل اختياري يحدِّد التوابع المعادة. يأخذ هذا المعامل القيمة true (افتراضيًا)، أو القيمة false. القيم المعادة تُعاد قائمةٌ بالتوابع المحميَّة التي يمتلك الكائن المعطى الوصول إليها إذا لم يعطَ الكائن all، أو ستُعاد قائمة تحتوي توابع الكائن المستقبل (receiver) فقط إذا أعطي المعامل all ...
التابع Hash.dig في روبي
يستخرج التابع dig القيمة المتداخلة المحددة بواسطة تسلسل كائنات تمثِّل المفاتيح عن طريق استدعاء dig في كل خطوة، ويعيد القيمة nil إذا كانت أي خطوة متوسطة هي nil. البنية العامة dig(key, ...) → object
المعاملات key المفتاح المتشعب المراد استخراج قيمته. ... سلسلة من المفاتيح المتشعبة. القيمة المعادة تعاد القيمة المرتبطة بالمفتاح key أو سلسلة المفاتيح ... المتشعبة. أمثلة مثال على استعمال التابع dig: h = { foo: {bar: {baz: 1}}}
h.dig(:foo, :bar, :baz) #=> 1
h.dig(:foo, :zot, :xyz) ...
التابع Object.private_methods في روبي
يُعيد التابع private_methods قائمةً بالتوابع الخاصة (private methods) التي يمتلك الكائن الذي استدعي معه الوصول إليها. إذا مُرِّرت القيمة false إلى التابع، فستحتوي القائمة توابع الكائن المستقبل (receiver) فقط. البنية العامة private_methods(all=true) → array
المعاملات all معامل اختياري يحدِّد التوابع المعادة. يأخذ هذا المعامل القيمة true (افتراضيًا)، أو القيمة false. القيم المعادة تُعاد قائمةٌ بالتوابع الخاصة التي يمتلك الكائن المعطى الوصول إليها إذا لم يعطَ الكائن all، أو ستُعاد قائمة تحتوي توابع الكائن المستقبل (receiver) فقط إذا أعطي المعامل all ...
التابع Enumerator::Lazy.enum_for في روبي
يشبه التابع enum_for التابع Kernel.to_enum باستثناء أنه يعيد مُعدِّدًا كسولًا (كائن من النوع Enumerator::Lazy). يجعل هذا من السهل تعريف توابع الصنف Enumerable التي ستبقى كسولة بشكل طبيعي إن استدعيت من مُعدِّد كسول (lazy enumerator). البنية العامة enum_for(method = :each, *args) → lazy_enum
enum_for(method = :each, *args){|*args| block} → lazy_enum
المعاملات method تابع. القيمة الافتراضية هي: each:. args الوسائط المُمرَّرة إلى التابع method. القيمة المعادة يعاد مُعدِّدٌ كسولٌ (كائن من النوع Enumerator::Lazy). أمثلة المثال التالي هو تكملة للمثال الموجود في صفحة التابع Kernel.to_enum: # ...
التابع Enumerator::Lazy.to_enum في روبي
يشبه التابع to_enum التابع Kernel.to_enum باستثناء أنه يعيد مُعدِّدًا كسولًا (كائن من النوع Enumerator::Lazy). يجعل هذا من السهل تعريف توابع الصنف Enumerable التي ستبقى كسولة بشكل طبيعي إن استدعيت من مُعدِّد كسول (lazy enumerator). البنية العامة to_enum(method = :each, *args) → lazy_enum
to_enum(method = :each, *args) {|*args| block} → lazy_enum
المعاملات method تابع. القيمة الافتراضية هي: each:. args الوسائط المُمرَّرة إلى التابع method. القيمة المعادة يعاد مُعدِّدٌ كسولٌ (كائن من النوع Enumerator::Lazy). أمثلة المثال التالي هو تكملة للمثال الموجود في صفحة التابع Kernel.to_enum: ...
التابع Module.attr_accessor في روبي
يحدد التابع attr_accessor خاصية مسماة (named attribute) لهذه الوحدة، إذ يكون الاسم هو نتيجة التعبير symbol.id2name، وينشئ متغير نسخة (@name) وتابع وصول مقابل له (access method) لقراءته. ينشئ أيضًا تابعًا يُسمى name= لتعيين الخاصية. تحول الوسائط النصية إلى رموز. البنية العامة attr_accessor(symbol, ...) → nil
attr_accessor(string, ...) → nil
المعاملات symbol رمز لتحديد الخاصية. string سلسلة نصية لتحديد الخاصية. القيمة المعادة تعاد القيمة nil. أمثلة مثال على استخدام التابع attr_accessor: module Mod
attr_accessor(:one, :two)
end
Mod.instance_methods.sort #=> [:one, :one=, :two, :two=]
...
التابع Module.instance_method في روبي
يعيد التابع instance_method كائنًا من النوع UnboundMethod يمثل تابع النسخة (instance method) المعطى في الوحدة التي استُدعي معها. البنية العامة instance_method(symbol)→ unbound_method
المعاملات symbol كائن من النوع Symbol. القيمة المعادة يعاد كائنٌ من النوع UnboundMethod يمثل تابع النسخة المعطى في الوحدة التي استُدعي معها. أمثلة مثال على استخدام التابع instance_method: class Interpreter
def do_a() print "there, "; end
def do_d() print "Hello "; end
def do_e() print "!\n"; end
def do_v() print ...
الصنف Mutex في روبي
يمكن استخدام الصنف Mutex وكائناته كواجهة لتنسيق الوصول إلى البيانات المشتركة من عدة خيوط (threads) موجودة وتعمل في نفس الوقت. إليك هذا المثال: semaphore = Mutex.new
a = Thread.new {
semaphore.synchronize {
# access shared resource
}
}
b = Thread.new {
semaphore.synchronize {
# access shared resource
}
}
توابع الصنف العامة (Public Class Methods) new ينشئ كائنًا جديدًا من النوع Mutex. توابع النسخة العامة (Public Instance Methods) lock يحاول مسك القفل (grab ...
التابع Object.remove_instance_variable في روبي
يَحذِف التابع remove_instance_variable متغيِّر نسخةٍ باسمٍ محدَّدٍ من الكائن الذي استدعي معه ويُعيد قيمة ذلك المتغيِّر. البنية العامة remove_instance_variable(symbol) → obj
المعاملات symbol الرَّمز المعرِّف لمتغير النسخة المراد حذفه. القيم المعادة تعاد قيمة متغير النسخة symbol بعد حذفه من الكائن المعطى. أمثلة مثالٌ عن استخدام التابع remove_instance_variable: class Dummy
attr_reader :var
def initialize
@var = 99
end
def remove
remove_instance_variable(:@var)
end
end
d = Dummy.new
d.var #=> ...
التابع Module.method_defined? في روبي
يتحقق التابع method_defined? إن كان التابع المعطى مُعرّفًا في الوحدة أو الصنف (أو في الوحدات المُتضمنة فيه، وإن كان صنفًا في أسلافه). تتم مطابقة التوابع العامة والمحمية. تٌحوّل الوسائط النصية إلى رموز. البنية العامة method_defined?(symbol) → true or false
method_defined?(string) → true or false
المعاملات symbol رمز يمثل التابع. string سلسلة نصية تمثل التابع. القيمة المعادة تعاد القيمة true إن كان التابع المعطى مُعرّفًا في الوحدة أو الصنف. أمثلة مثال على استخدام التابع method_defined?: module A
def method1() end
...
التابع Hash.rassoc في روبي
يبحث التابع rassoc خلال الكائن Hash الذي استدعي معه عن طريق مقارنة القيمة التي مُمرِّرت إليه مع قيم ذلك الكائن باستخدام المعامل == ثم يعيد أول زوج قيمة-مفتاح متطابق. البنية العامة rassoc(obj) → an_array or nil
المعاملات obj الكائن الذي سيُبحَث عنه في الكائن Hash المعطى. القيمة المعادة تعاد مصفوفة من عنصرين تحوي الزوج مفتاح/قيمة المطابقة للقيمة obj المبحوث عنها في الكائن Hash المعطى، أو تعاد القيمة nil إن لم يُعثر على شيء. أمثلة مثال على استعمال التابع rassoc: a = ...
التابع Module.private_method_defined? في روبي
يتحقق التابع private_method_defined? إن كان التابع الخاص (private) المعطى معرَّفًا من قِبَل _ mod_ (أو الوحدات المتضمنة فيه، وأسلافه [ancestors] إن كان صنفًا). البنية العامة private_method_defined?(symbol) → true or false
private_method_defined?(string) → true or false
المعاملات symbol رمز يمثل التابع الخاص. string سلسلة نصية تمثل التابع الخاص. يحول هذا المعامل - إن أعطي - إلى رمز. القيمة المعادة تعاد القيمة true إن كان التابع الخاص (private) المعطى معرفًا من طرف _ mod_ (أو الوحدات المتضمنة فيه، وأسلافه [ancestors] إن كان صنفًا). خلا ...
التابع Hash.assoc في روبي
يبحث التابع assoc ضمن الكائن Hash عن طريق موازنة الكائن المُمرَّر إليه بمفاتيحه باستخدام المعامل == ثم يعيد الزوج قيمة-مفتاح (مصفوفة من عنصرين) أو nil إذا لم يعثر على أي تطابق. البنية العامة assoc(obj) → an_array or nil
المعاملات obj الكائن الذي يمثِّل المفتاح المراد البحث عنه ضمن الكائن Hash المعطى. القيمة المعادة تعاد مصفوفة من عنصرين تحوي الزوج قيمة-مفتاح إن عُثِر على المفتاح المطابق لقيمة المعامل obj، أو تعاد القيمة nil لم يعثر على أي تطابق. أمثلة مثال على استعمال ...
التابع Object.singleton_methods في روبي
يُعيد التابع singleton_methods مصفوفةً تحوي أسماء توابع الكائن المنفردة (singleton methods). إذا مُرِّرت القيمة true إلى التابع، فستتضمَّن القائمة توابع الوحدات المُضمَّنة في الكائن المعطى أيضًا. تُعاد فقط التوابع المنفردة العامَّة والمحميَّة. البنية العامة singleton_methods(all=true) → array
المعاملات all معامل اختياري يأخذ إمَّا القيمة true (افتراضيًا)، أو القيمة false. القيم المعادة تُعاد مصفوفةٌ تحوي أسماء التوابع المنفردة للكائن المعطى إذا لم يعطَ المعامل all أو كانت قيمته true. إذا كانت قيمة المعامل all هي false، فستتضمَّن تلك المصفوفة المعادة التوابع ...
التابع Module.public_method_defined? في روبي
يتحقق التابع public_method_defined? إن كان التابع العام (public method) المعطى معرفًا في الوحدة/الصنف (أو الوحدات المتضمنة فيه، أو أسلافه إن كان صنفا). البنية العامة public_method_defined?(symbol)→ true or false
public_method_defined?(string)→ true or false
المعاملات symbol رمز يمثل التابع. string سلسلة نصية تمثل التابع. يحول هذا المعامل إن أعطي إلى رمز. القيمة المُعادة يعيد التابع public_method_defined? القيمة true إن كان التابع العام المعطى معرفًا بواسطة في الوحدة/الصنف (أو الوحدات المتضمنة فيه، أو أسلافه إن كان صنفا)، وإلا فسيعيد false. أمثلة مثال على استخدام التابع public_method_defined?: module A
...
الصنف Fiber في روبي
الألياف (Fibers) هي حقولٌ أساسيّةٌ (primitives) تُستخدم في تنفيذ تعدّد المهام التشاركي (cooperative concurrency) للمهام الخفيفة (light weight) أي التي تستهلك جزءًا صغيرًا من الذاكرة. تعني أساسيًّا إنشاء كتل شيفرات يمكن إيقافها مؤقتًا واستئنافها، كما هو الحال مع الخيوط (threads). الفرق الأساسي في الألياف أنه لا يمكن إيقافها مؤقّتًا من قبل مهام أخرى تنفذ من قبل النظام (Preemption) وأن الجدولة (scheduling) يجب أن تتمَّ من قبل المبرمج وليس من قبل الآلة الافتراضية (virtual machine). على عكس نماذج تعدد المهام التشاركية ...
التابع Object.public_send في روبي
يَستدعي التابع public_send التابع المعرَّف برمزٍ (symbol) محدَّدٍ ويُنفَّذه تلقائيًا مع تمرير أي معاملاتٍ معطاة. خلافًا للتابع send، يَستدعي التابع public_send التوابع العامة فقط. إن عُرِّف التابع باستخدام سلسلةٍ نصيةٍ (string)، فستُحوَّل هذه السلسلة إلى رمز. البنية العامة public_send(symbol [, args...]) → obj
public_send(string [, args...]) → obj
المعاملات symbol الرَّمز المُعرِّف للتابع المراد استدعاءه. string سلسلة نصية تعرِّف التابع المراد استدعاءه. ستُحوَّل هذه السلسلة إلى رمز إن أعطيت. ...args المعاملات المراد تمريرها إلى التابع الذي يراد استداعاؤه. القيم المعادة يُعاد ...
Ruby/Topics
تثبيت روبي توجد طرائق عدَّة لتنزيل وتثبيت روبي على كل منصة وهي: إمَّا استعمال أنظمة مدير الحزم، أو باستعمال المثبِّتات التلقائية، أو باستعمال مدراء روبي. هنالك طريقة أخرى يمكنك بالتأكيد استعمالها لتثبيت روبي وتصريف شيفراتها وهي بنائها من الشيفرة المصدرية مباشرةً. حول روبي يوفر هذا القسم لمحة سريعة عن لغة روبي ونشأتها، وتطورها، ومزاياها التي انفردت بها عن اللغات الأخرى، والتنفيذات المختلفة التي تملكها. البنية العامة بنية اللغة تعد روبي مزيجًا من اللغات البرمجية التالية: Perl، و Smalltalk، و Eiffel، ...
التابع Marshal.dump في روبي
يُسلسل (Serializes) التابع dump الكائن المعطى وجميع الكائنات المنحدرة منه (descendant objects). في حال تمرير كائن من النوع IO، فستُكتب البيانات المُسَلسلة فيه، وإلا فستُعاد البيانات كسلسلة نصية. البنية العامة dump( obj [, anIO] , limit=-1 ) → anIO
في حال تمرير المعامل limit، فسيقتصر التابع dump على سَلسَلة الكائنات الفرعية حتى العمق المحدد. إذا كان limit سالبًا، لن يكون هناك أي تحقق من للعمق. لا يمكن للتابع Marshal تفريغ (dump) الكائنات التالية: الوحدات أو الأصناف المجهولة (anonymous Class/Module). الكائنات المرتبطة بالنظام (مثل ...
التابع Module.module_function في روبي
ينشئ التابع module_function دوال وحدة (module functions) للتوابع المعطاة. يمكن استدعاء هذه الدوال مع الوحدة كمُستقبِلات (receiver)، كما يمكن أن تصبح متاحةً كتوابع نسخة (instance methods) للأصناف التي تُمزج (mix) في الوحدة. دوال النوع Module هي نسخ من الدوال الأصلية، وبالتالي يمكن تغييرها بشكل مستقل. توابع النسخة (instance-method) ستتحول إلى خاصة. وإذا تم استدعاء التابع module_function دون معاملات، فستصبح التوابع التي ستُعرَّف لاحقًا دوال وحدة (module functions). تُحوّل الوسائط النصية إلى رموز. البنية العامة module_function(symbol, ...) → self
module_function(string, ...) → self
المعاملات ...
الوحدات والأصناف في روبي
الوحدات تخدم الوحدات (Modules) غايتين اثنتين في لغة روبي وهما: ميّزة نطاقات الأسماء (namespace)، والخلط الضمني (mix-in) التي سنوضّحها لاحقًا. يستخدم نطاق الأسماء لتنظيم الشيفرة البرمجية ضمن مجموعات مستقلّة تمنع تداخل التوابع والمتغيّرات ذات الأسماء المتشابهة فيما بينها. فعلى سبيل المثال، نطاق الأسماء IRB يوفّر عمليات irb والتي تمنع التصادم مع الاسم الشائع "Context". وظيفة الخلط الضمني (Mix-in) تسمح بمشاركة توابع مشتركة عبر عدد من الأصناف أو الوحدات، إذ يأتي مع لغة روبي على سبيل المثال الوحدة Enumerable التي توفّر ...
الصنف InstructionSequence في روبي
يمثل الصنف InstructionSequence تسلسلًا مصرّفًا (compiled sequence) للتعليمات الخاصة بالآلة الافتراضية (Virtual Machine) لروبي. يمكّنك هذا الصنف من الحصول على مؤشر (handle) للتعليمات التي تشكل التابع أو الكتلة البرمجية، وتصريف (compile) سلاسل روبي النصية إلى تعليمات الآلة الافتراضية (VM)، وتفكيك التعليمات إلى سلاسل نصية لتسهيل فحصها. هذا الصنف مفيد للغاية إن كنت ترغب في معرفة كيفية عمل آلة روبي الافتراضية، لكنه يتيح لك أيضًا التحكم في إعدادات المُصرِّف iseq لروبي. يمكنك العثور على مصدر إرشادات الآلة الافتراضية في الصفحة insns.defفي ...
تثبيت روبي على مختلف المنصات
توجد عدة طرق لتنزيل وتثبيت روبي على كل منصة وهي: في لينكس (والأنظمة الشبيه بيونكس)، تستطيع استعمال نظام مدير الحزم لتوزيعتك (الطريقة الأسهل) أو أية أداة من طرف ثالث (مثل rbenv و RVM). على أي حال، إصدار روبي المثبت عن طريق نظام مدير الحزم قد لا يكون هو الإصدار الأحدث، لذا انتبه لهذا الأمر. في macOS، يمكنك استعمال مدير الحزم أو أداة من طرف ثالث (مثل rbenv و RVM). في ويندوز، تستطيع استخدام RubyInstaller. يمكنك باستعمال المثبِّت هذا تثبيت إصدار ...
التابع UnboundMethod.name في روبي
يعيد التابع name اسم التابع الحر الذي استُدعي معه. البنية العامة name → symbol
القيمة المعادة يعاد اسم التابع الحر المعطى. انظر أيضًا التابع inspect: يعيد اسم التابع الأصلي (underlying method). التابع original_name: يعيد الاسم الأصلي للتابع الحر الذي استُدعي معه. مصادر قسم التابع name في الصنف UnboundMethod في توثيق روبي الرسمي.
الصنف KeyError في روبي
يُطلق الاستثناء KeyError عندما لا يكون المفتاح (key) المُحدد موجودًا، وهو صنف فرعي من IndexError. h = {"foo" => :bar}
h.fetch("foo") #=> :bar
h.fetch("baz") #=> KeyError: key not found: "baz"
توابع الكائن العامة (Public Instance Methods) key يعيد المفتاح الذي تسبب في رمي الخطأ KeyError. receiver يعيد المتلقي (receiver) المقترن بالاستثناء KeyError. مصادر قسم الصنف KeyError في توثيق روبي الرسمي.
التابع Module.deprecate_constant في روبي
ينشئ التابع deprecate_constant قائمة بالثوابت الموجودة المهملة. البنية العامة deprecate_constant(symbol, ...) => mod
المعاملات symbol رمز يمثل الثابت. القيمة المعادة تعاد قائمة بالثوابت الموجودة المُتجاوزة. انظر أيضا التابع define_method: يعرف تابع نُسخة (instance method) في المُستقبِل (receiver). التابع extend_object: يوسع الكائن المعطى بإضافة ثوابت و توابع. مصادر قسم التابع deprecate_constant في الصنف Module في توثيق روبي الرسمي.
التابع ?Proc.lambda في روبي
يتحقَّق التابع ?lambda إذا كانت معالجة الوسائط صارمةً في الكائن Proc (أي يجب تمرير نفس العدد تمامًا من الوسائط المعرَّفة عند إنشاء الكائن). تُنشأ هذه الكائنات عادةً بوساطة lambda. كائنات الصنف Proc المُنشأة بوساطة proc ليست صارمةً وتمتلك الميزات التالية: تتجاهل الوسائط الإضافيَّة: proc {|a,b| [a,b] }.call(1,2,3) #=> [1,2]
تُعيِّن القيمة nil للوسائط الناقصة: proc {|a,b| [a,b] }.call(1) #=> [1,nil]
توسِّع وسيط مصفوفة مفردة: proc {|a,b| [a,b] }.call([1,2]) #=> [1,2]
كائن الصنف Proc المُنشأ بواسطة lambda لا يمتلك هذه الميِّزات. lambda ...
التابع singleton_method_undefined في الصنف BasicObject في روبي
يُستدعى التابع singleton_method_undefined كرد نداءٍ (callback) في كل مرة يكون فيها تابع منفرد (singleton method) غير مُعرَّف (undefined) في المُستقبِل (receiver). البنية العامة singleton_method_undefined(symbol)
أمثلة مثال على استخدام التابع singleton_method_undefined: module Chatty
def Chatty.singleton_method_undefined(id)
puts "Undefining #{id.id2name}"
end
def Chatty.one() end
class << self
undef_method(:one)
end
end
يظهر هذا المثال عند تنفيذه المخرجات التالية: Undefining one
انظر أيضًا التابع singleton_method_added: يُستَدعى هذا التابع كرد نداءٍ (callback) في كلِّ مرة يُضاف فيها تابع منفرد (singleton method) ...
التابع UnboundMethod.hash في روبي
يعيد التابع hash القيمة hash المقابلة للتابع الحر الذي استُدعي معه. البنية العامة hash→ integer
القيمة المعادة يعاد عدد صحيح يمثِّل الشيفرة hash المقابلة للتابع الحر المعطى. انظر أيضًا التابع inspect: يعيد اسم التابع الأصلي (underlying method). التابع Object.hash: يحسب القيمة hash للكائن الذي استدعي معه. مصادر قسم التابع hash في الصنف UnboundMethod في توثيق روبي الرسمي.
التابع singleton_method_removed في الصنف BasicObject في روبي
يُستَدعى التابع singleton_method_removed كرد نداءٍ (callback) في كل مرة يُحذف فيها تابع منفرد (singleton method) من المُستقبِل (receiver). البنية العامة singleton_method_removed(symbol)
أمثلة مثال على استخدام التابع singleton_method_removed: module Chatty
def Chatty.singleton_method_removed(id)
puts "Removing #{id.id2name}"
end
def self.one() end
def two() end
def Chatty.three() end
class << self
remove_method :three
remove_method :one
end
end
يظهر هذا المثال عند تنفيذه المخرجات التالية: Removing three
Removing one
...
التابع singleton_method_added في الصنف BasicObject في روبي
يُستَدعى التابع singleton_method_added كرد نداءٍ (callback) في كلِّ مرة يُضاف فيها تابع منفرد (singleton method) جديد إلى المُستقبِل (receiver). البنية العامة singleton_method_added(symbol)
أمثلة مثال على استخدام التابع singleton_method_added: module Chatty
def Chatty.singleton_method_added(id)
puts "Adding #{id.id2name}"
end
def self.one() end
def two() end
def Chatty.three() end
end
يظهر هذا المثال عند تنفيذه المخرجات التالية: Adding singleton_method_added
Adding one
Adding three
انظر أيضًا التابع singleton_method_removed: يُستَدعى هذا التابع كرد نداءٍ ...
الصنف Class في روبي
تُعدُّ الأصناف كائناتٍ من الدرجة الأولى (first-class objects) في روبي، وتعدُّ جميعها نُسخٌ من الصنف Class. عادةً، يمكن عادةً إنشاء صنف جديد بالشكل التالي: class Name
# تكتب هنا الشيفرة التي تعرف سلوك الصنف
end
عندما يُنشَأ صنف جديد، يهيَّأ كائن من النوع Class ويسند إلى ثابت عام (global constant، هو Name في المثال السابق). عند استدعاء Name.new لإنشاء كائن جديد، يُنفَّذ التابع new الخاص بالصنف Class بشكل افتراضي. يمكن إثبات ذلك من خلال إعادة تعريف التابع new: class Class
alias old_new ...
التابع InstructionSequence.to_a في روبي
يُعيد التابع to_a مصفوفة تتألف من 14 عنصرًا تحوي معلومات حول سلسلة التعليمات التي استدعي معها. البنية العامة to_a → ary
القيمة المعادة تعاد مصفوفة تتألف من 14 عنصرًا يمثلون سلسلة التعليمات بالبيانات التالية: magic سلسلة نصية تحدد تنسيق (format) البيانات. دائمًا تكون YARVInstructionSequence/SimpleDataFormat. major_version الإصدار الرئيسي لسلسلة التعليمات. minor_version الإصدار الثانوي لسلسلة التعليمات. format_type عدد يمثل تنسيق البيانات. تكون دائمًا 1. misc جدول Hash يحتوي على: :arg_size: العدد الإجمالي للوسائط التي يأخذها التابع أو الكتلة (تساوي 0 إن لم تكن ...
الإسناد في روبي
لكي نسند شيئًا في لغة روبي، نستخدم رمز المساواة =؛ ففي المثال التّالي، يُسنَد العدد 5 إلى المتغيّر v المحلّي: v = 5
فالإسناد يُنشئ متغيّرًا محلّيًا جديدًا إذا لم يكن قد عُرِّفَ من قبل. أسماء المتغيرات المحلية اسم المتغيّر المحلّي يجب أن يبدأ بحرف صغير من مجموعة المحارف US-ASCII أو من مجموعة المحارف التي تُمثَّل باستخدام ثمان بتات ثنائيّة. وبشكلٍ عام، فإنّ أسماء المتغيّرات المحلّية متوافقة مع US-ASCII كون الأزرار التي تستخدم لكتابتها موجودة في جميع لوحات المفاتيح. عمومًا، جميع ...
الصنف LocalJumpError في روبي
يُطلق الخطأ LocalJumpError عندما لا تتمكن روبي من الإعادة (yield) كما هو مطلوب. يحدث هذا مثلًا، عند محاولة الإعادة (yield) في غياب أية كتلة برمجية. def call_block
yield 42
end
call_block
تطلق الشيفرة أعلاه الاستثناء التالي: LocalJumpError: no block given (yield)
توابع الكائن العامة (Public Instance Methods) exit_value يعيد قيمة الخروج المرتبطة بالاستثناء LocalJumpError. reason يعيد سبب إنهاء الكتلة البرمجية: :breakأو :redo أو :retry أو :next أو :returnأو :noreason. مصادر قسم الصنف LocalJumpError في توثيق روبي الرسمي.
الصنف RubyVM في روبي
يمثل الصنف RubyVM الآلة الافتراضية (VM، اختصار إلى virtual machine). الثوابت DEFAULT_PARAMS يعرض هذا الثابت معاملات الآلة الافتراضية (VM) الأولية (default). لاحظ أنّ تغيير تلك القيم لا يؤثر على طريقة تشغيل الآلة الافتراضية. المواصفات ليست مستقرة، ويجب أن لا تعتمد على هذه القيمة. INSTRUCTION_NAMES يمثِّل هذا الثابت أسماء التعليمات. OPTS يحتوي هذا الثابت على خيارات الآلة الافتراضية (vm). توابع الصنف العامة stat يعيد كائنًا من النوع Hash يحوي عدادات مُخصصة (implementation-dependent counters) داخل الآلة الافتراضية (VM). مصادر صفحة الصنف RubyVM في توثيق روبي الرسمي. ...
التابع Object.untrust في روبي
يعدُّ untrust تابعًا مهملًا (Deprecated method) وهو مكافئٌ تمامًا للتابع taint. البنية العامة untrust → obj
القيم المعادة يُعاد الكائن المعطى بعد تعليمه ككائن فاسد (tainted). انظر أيضًا التابع taint: يصم الكائن الذي استدعي معه بأنه كائنٌ فاسد. التابع ?tainted: يتحقَّق إذا كان التابع فاسدًا. التابع trust: يعدُّ تابعًا مهملًا وهو مكافئٌ تمامًا للتابع untaint. التابع untaint: يُلغي علامة الحالة الفاسدة من الكائن الذي استدعي معه. التابع ?untrusted: يعتبر تابعًا غير منصوحٍ به وهو مكافئٌ للتابع ?tainted. مصادر صفحة التابع ...
التابع UnboundMethod.source_location في روبي
يعيد التابع source_location اسم الملف المصدر لروبي ورقم السطر الذي يحتوي هذا التابع الحر، أو يعيد nil إن لم يُعرّف هذا التابع في روبي (أي أنه أصلي). البنية العامة source_location → [String, Integer]
القيمة المعادة تعاد مصفوفة من عنصرين تحوي اسم الملف المصدر لروبي ورقم السطر الذي يحتوي التابع الحر المعطى، أو تعاد القيمة nil إن لم يُعرّف هذا التابع في روبي. انظر أيضًا التابع parameters: يعيد معلومات عن معاملات التابع الحر الذي استُدعي معه. التابع super_method: يعيد كائنا من النوع Method ...
التابع Module.public_constant في روبي
ينشئ التابع public_constant قائمةً بالثوابت العامة الموجودة. البنية العامة public_constant(symbol, ...) => mod
المعاملات symbol رمز يمثل الثابت. القيمة المعادة تعاد قائمة بالثوابت العامة الموجودة. انظر أيضا التابع public: يعين المرئية (visibility) الافتراضية للتوابع المعرفة لاحقًا إلى public العامة. التابع public_class_method: ينشئ قائمة بتوابع الصنف العامة (public) الحالية. التابع public_instance_method: يبحث عن التوابع العامة (public) وحسب على غرار التابع instance_method. التابع public_instance_methods: يعيد قائمة بتوابع النسخة العامة (public instance methods) المعرفة في الوحدة. مصادر قسم التابع public_constant في الصنف Module في توثيق روبي الرسمي.
التابع ?Object.untrusted في روبي
يعتبر ?untrusted تابعًا غير منصوحٍ به (Deprecated method) وهو مكافئٌ للتابع ?tainted. البنية العامة untrusted? → true or false
القيم المعادة تُعاد القيمة true إذا كان الكائن بالحالة المحمية (tainted)، أو تُعاد القيمة false خلاف ذلك. انظر أيضًا التابع taint: يصم الكائن الذي استدعي معه بأنه كائنٌ فاسد. التابع ?tainted: يتحقَّق إذا كان التابع فاسدًا. التابع trust: يعدُّ تابعًا مهملًا وهو مكافئٌ تمامًا للتابع untaint. التابع untaint: يُلغي علامة الحالة الفاسدة من الكائن الذي استدعي معه. التابع untrust: يعدُّ تابعًا ...
التابع Object.trust في روبي
يعدُّ trust تابعًا مهملًا (Deprecated method) وهو مكافئٌ تمامًا للتابع untaint. البنية العامة trust → obj
القيم المعادة يُعاد الكائن المعطى بعد تحويله من الحالة الفاسدة (taint) إلى الحالة الطبيعية. انظر أيضًا التابع taint: يصم الكائن الذي استدعي معه بأنه كائنٌ فاسد. التابع ?tainted: يتحقَّق إذا كان التابع فاسدًا. التابع untaint: يُلغي علامة الحالة الفاسدة من الكائن الذي استدعي معه. التابع untrust: يعدُّ تابعًا مهملًا وهو مكافئٌ تمامًا للتابع taint. التابع ?untrusted: يعتبر تابعًا غير منصوحٍ به وهو مكافئٌ للتابع ...
التابع Process.abort في روبي
ينهي التابع abort تنفيذ العملية مباشرةً بشكل فعَّال عبر استدعاء Kernel.exit(false). إن مُرِّرَت رسالة إلى هذا التابع، فستُكتَب على مجرى الخطأ القياسي (STDERR) قبل إنهاء العملية. البنية العامة abort
Kernel::abort([msg])
abort([msg])
المعاملات msg رسالة الخطأ المراد طباعتها على مجرى الخطأ القياسي. انظر أيضًا التابع Kernel.exit: يبدأ عملية إنهاء البرنامج في روبي، عن طريق إطلاق استثناء SystemExit. التابع argv0: يعيد اسم الشيفرة البرمجية التي يجري تنفيذها. التابع exit: يبدأ عملية الإنهاء لشيفرة روبي البرمجية عبر اطلاق الاستثناء SystemExit. مصادر قسم التابع abort في الصنف Process في ...
التابع Module.attr في روبي
الشكل الأول للتابع attr (انظر فقرة البنية العامة) مكافئ للتابع attr_reader. أما الشكل الثاني فيكافئ attr_accessor(name)، ولكنه أصبح مهملًا الآن. الشكل الأخير يكافئ attr_reader(name)، لكنه أصبح مهملًا أيضًا. البنية العامة attr(name, ...) → nil
attr(name, true) → nil
attr(name, false) → nil
المعاملات name اسم الميزة. القيمة المعادة تعاد القيمة nil. انظر أيضا التابع attr_accessor: يحدد خاصية مسماة (named attribute) لهذه الوحدة. التابع attr_writer: ينشئ تابع وصول (accessor method) للسماح بتعيين قيمة للخاصية symbol.id2name. مصادر قسم التابع attr في الصنف Module في توثيق روبي ...
التابع Module.public_instance_method في روبي
يبحث التابع public_instance_method عن التوابع العامة (public) وحسب على غرار التابع instance_method. البنية العامة public_instance_method(symbol)→ unbound_method
المعاملات symbol رمز يمثل الثابت. القيمة المعادة يعاد كائنٌ من النوع Unboundmethod. انظر أيضا التابع public: يعين المرئية (visibility) الافتراضية للتوابع المعرفة لاحقًا إلى public العامة. التابع public_constant: ينشئ قائمة بالثوابت العامة (public) الموجودة. التابع public_instance_methods: يعيد قائمة بتوابع النسخة العامة (public instance methods) المعرفة في الوحدة. التابع public_method_defined?: يتحقق إن كان التابع العام المعطى معرفًا في الوحدة/الصنف (أو الوحدات المتضمنة فيه، أو أسلافه إن كان صنفا). مصادر قسم التابع public_instance_method ...
التابع Numeric.ceil في روبي
يعيد التابع ceil أصغر عدد من الأعداد الأكبر من أو تساوي العدد الذي استُدعي معه وبدقة محدَّدة. ينفِّذ الصنف Numeric هذه العملية عن طريق تحويل قيمة العدد المعطى إلى النوع Float ثم استدعاء التابع Float.ceil. البنية العامة ceil([ndigits]) → integer or float
المعاملات ndigits عدد يمثل دقة المنازل العشري. القيمة الافتراضية هي: 0. القيمة المعادة يعاد عدد صحيح أو عشري أصغر عدد من الأعداد الأكبر من أو تساوي العدد المعطى وبدقة ndigits للمنازل العشرية فيه. انظر أيضا التابع floor: ...
عرض (500 السابقة | 500 التالية) (20 | 50 | 100 | 250 | 500).