نتائج البحث

اذهب إلى التنقل اذهب إلى البحث

الصنف Module في روبي

الصنف Module هو مجموعة من التوابع والثوابت. التوابع الموجودة في الوحدات Module قد تكون إما توابع نسخة (instance methods)، أو توابع وحدة (module methods). توابع النسخة تظهر كتوابع في صنفٍ عند تضمين الوحدة، وذلك على خلاف توابع الوحدة. وعلى النقيض، يمكن استدعاء توابع الوحدة دون إنشاء كائن يُغلفها، بينما قد لا يمكن فعل ذلك مع توابع النسخة. انظر صفحة module_function. في الأمثلة الموجودة في صفحات التوابع، يشير المعامل sym إلى رمز، والذي قد يكون إما سلسلة نصية، أو كائنًا من النوع ...

الوحدات (Modules) في Node.js

مؤشر الاستقرار: 2 - مستقر يعامل كل ملف في نظام الوحدات في بيئة Node.js كوحدة منفصلة. على سبيل المثال، فليكن ملف اسمه foo.js: const circle = require('./circle.js'); console.log(`The area of a circle of radius 4 is ${circle.area(4)}`); في السطر الأول، يُحمِّل foo.js الوحدة circle.js الموجودة في نفس المجلد مع foo.js. وإليك محتويات circle.js: const { PI } = Math; exports.area = (r) => PI * r ** 2; exports.circumference = (r) => 2 * PI * r; صدَّرت الوحدة circle.js الدالتين area()‎ و circumference()‎. وتُضاف ...

المعامل ‎<=‎‎ الخاص بالصنف Module في روبي

يعيد المعامل ‎<=‎ القيمة true إن كانت الوحدة Module التي تقع على يساره صنفًا فرعيًّا من الوحدة التي تقع على يمينه أو كانت الوحدتان متساويتين تمامًا، أو يعيد القيمة nil إذا لم تكن بينهما أية علاقة (فكر في هذه العلاقة من منظور تعريف الأصناف: "الصنف A < الصنفB" يستلزم "A < B"). البنية العامة mod <= other→ true, false, or nil‎ القيمة المعادة تعاد القيمة true إن كان mod صنفًا فرعيًا من other أو كان يساويه، أو تعاد القيمة nil ...

المعامل ==‎ الخاص بالصنف Module في روبي

يتحقق معامل التساوي == من تساوي كائنين. البنية العامة obj == other → true or false equal?(other)→ true or false eql?(other) → true or false‎ في مستوى الصنف Object، يعيد المعامل == القيمة true فقط إن كان obj و other نفس الكائن. بشكل عام، يٌعاد تعريف هذا التابع في الأصناف المنحدرة (descendant classes) لتخصيصه للصنف المُستخدم. بخلاف المعامل ==، لا يجب أبدًا إعادة تعريف التابع equal?‎ في الأصناف الفرعية (subclasses)، لأنه يُستخدَم لتحديد هوية الكائن (أي أنّ a.equal?(b)‎ تعيد true إذا ...

المعامل ===‎ الخاص بالصنف Module في روبي

يعيد المعامل === القيمة true إن كان الكائن الواقع على يمينه نسخةً (instance ) من الكائن Module الواقع على يمينه أو من أحد الأصناف المنحدرة منه. استخدامه مع الوحدات (modules) محدود، ولكن يمكن استخدامه في عبارات case لتصنيف الكائنات بحسب الصنف. البنية العامة mod === obj → true or false‎ القيمة المعادة تعاد القيمة true إن كان obj نسخة من mod أو من أحد الأصناف المنحدرة منه. وإلا فستُعاد القيمة false. انظر أيضا المعامل <: يعيد القيمة true الكائن Module الذي ...

المعامل ‎>=‎‎ الخاص بالصنف Module في روبي

يعيد المعامل ‎>=‎‎ القيمة true إن كانت الوحدة Module التي تقع على يساره سلفًا (ancestor) للوحدة التي تقع على يمينه أو إن كانت الوحدتان متساويتين، أو يعيد القيمة nil إن لم تكن بينها أي علاقة. (فكر في العلاقة من منظور تعريف الأصناف: "الصنف A < الصنف B" يستلزم "B > A".) البنية العامة mod >= other→ true, false, or nil‎ القيمة المعادة تعاد القيمة true إن كانت الوحدة mod سلفًا للوحدة other، أو إن كانت الوحدتان متساويتين، أو تعاد القيمة ...

المعامل ‎>‎‎ الخاص بالصنف Module في روبي

يعيد المعامل < القيمة true الكائن Module الذي يقع على يساره سلفًا (ancestor) للكائن الذي يقع على يمينه، أو يعيد القيمة nil إن لم تكن بينهما أية علاقة (فكر في العلاقة من منظور تعريف الأصناف: "الصنف A < الصنف B" يستلزم "B > A"). البنية العامة mod > other→ true, false, or nil‎ القيمة المعادة تعاد القيمة true إن الكائن mod سلفًا للكائن other، أو تعاد القيمة nil إن لم تكن بينهما أي علاقة. خلا ذلك، تعاد القيمة false.  ...

المعامل ‎<=>‎‎ الخاص بالصنف Module في روبي

يجري المعامل <=> عملية الموازنة بين كائنين ثم يعيد الناتج الذي يشير إلى العلاقة بينهما. البنية العامة module <=> other_module→ -1, 0, +1, or nil‎ يجري المعامل <=> عملية الموزانة ثمَّ يعيد إحدى القيم ‎-1 أو 0 أو ‎+1 أو nil اعتمادًا على ما إذا كان module يتضمن other_module، أو كانا متساويين، أو إذا كان module متضمَّنًا في other_module. تعاد القيمة nil إن لم تكن بين module و other_module أية علاقة، أو إن لم يكن other_module وحدة من الصنف Module، أو ...

المعامل ‎<‎‎ الخاص بالصنف Module في روبي

يعيد المعامل ‎<‎ القيمة true إن كانت الوحدة Module التي تقع على يساره صنفًا فرعيًّا من الوحدة التي تقع على يمينه، أو يعيد القيمة nil إن لم تكن بينهما أية علاقة (فكر في العلاقة من منظور تعريف الأصناف: "الصنف A < الصنف B" يستلزم "A < B"). البنية العامة mod < other→ true, false, or nil‎ القيمة المعادة تعاد القيمة true إن كان mod صنفًا فرعيًّا من other، أو تعاد القيمة nil إن لم تكن بينهما أي علاقة. خلا ذلك، ...

التابع 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: ينشئ وحدة مجهولة ...

التابع Module.extended‎ في روبي

يكافئ التابع extended التابع included إلا أنه يُستخدم مع الوحدات الموسعة (extended modules). البنية العامة extended(othermod)‎ المعاملات othermod‎ وحدة من النوع Module. أمثلة مثال على استخدام التابع extended‎: module A def self.extended(mod) puts "#{self} extended in #{mod}" end end module Enumerable extend A end # => prints "A extended in Enumerable"‎ انظر أيضا التابع included: يمثِّل رد نداء يُستدعَى في كل مرة يتم تضمين المستقبل (receiver) في وحدة أو صنف آخر. التابع extend_object: يوسع الكائن المعطى بإضافة ثوابت ...

التابع Module.used_modules‎ في روبي

يعيد التابع used_modules مصفوفة تحتوي جميع الوحدات (modules) المستخدمة في النطاق الحالي. ترتيب الوحدات في المصفوفة الناتجة غير محدد. البنية العامة used_modules → array‎ القيمة المعادة تعاد مصفوفة تحتوي جميع الوحدات (modules) المستخدمة في النطاق الحالي. أمثلة مثال على استخدام التابع used_modules‎: module A refine Object do end end module B refine Object do end end using A using B p Module.used_modules‎ ناتج تنفيذ الشيفرة هو: [B, A] انظر أيضا التابع using: يستورد الأصناف المهذبة (class refinements) من الوحدة في التعريف الحالي للصنف أو الوحدة. ...

التابع Module.prepended‎ في روبي

يكافئ التابع prepended التابع included باستثناء أنَّه مخصص للوحدات المُرفقة (prepended modules). البنية العامة prepended(othermod)‎ المعاملات othermod‎ الوحدة الأخرى. أمثلة مثال على استخدام التابع prepended‎: module A def self.prepended(mod) puts "#{self} prepended to #{mod}" end end module Enumerable prepend A end # => prints "A prepended to Enumerable"‎ انظر أيضا التابع prepend_features: يُستدعَى في الوحدة المعطاة عندما تُرفَق هذه الوحدة في أخرى، وتُمرَّر إليها الوحدة المُستقبِلة (receiving module) في الوحدة التي مُمرِّرت إليه.  التابع prepend: يستدعي التابع Module.prepend_features على كل المعاملات ...

التابع Module.prepend_features‎ في روبي

يُستدعَى التابع prepend_features في الوحدة المعطاة عندما تُرفق هذه الوحدة في أخرى، وتُمرَّر إليها الوحدة المُستقبِلة (receiving module) في الوحدة التي مُمرِّرت إليه. الإعداد الافتراضي هو إحلال (overlay) ثوابت وتوابع ومتغيرات الوحدة الخاصة بهذه الوحدة في المعامل mod المُمرَّر إن لم تكن هذه الوحدة مضافةً إليه سلفًا أو إلى أحد أسلافه (ancestors). البنية العامة prepend_features(mod)→ mod‎ المعاملات mod‎ كائن من النوع Module. القيمة المعادة تعاد وحدة من النوع Module. انظر أيضا التابع prepend: يستدعي التابع Module.prepend_features على كل المعاملات المعطاة بترتيب ...

التابع Module.prepend‎ في روبي

يستدعي التابع prepend التابع prepend_features على كل المعاملات المعطاة بترتيب عكسي. البنية العامة prepend(module, ...) → self‎ المعاملات module‎ يمثل وحدةً من النوع Module. القيمة المعادة يعاد الكائن المعطى. انظر أيضا التابع prepend_features: يُستدعَى في الوحدة المعطاة عندما تُرفَق هذه الوحدة في أخرى، وتُمرَّر إليها الوحدة المُستقبِلة (receiving module) في الوحدة التي مُمرِّرت إليه.  مصادر قسم التابع prepend‎ في الصنف 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 التي توفّر ...

التابع Object.each_object في روبي

يستدعي التابع each_object كتلةً محدَّدةً مرةً لكل كائنٍ نشطٍ (living object) أو غير مباشرٍ (nonimmediate object) في هذه العملية الحالية في روبي. إذا حُدِّدت الوحدة (module) المراد تنفيذ الكتلة عليها، فسيستدعي التابع الكتلة للأصناف أو الوحدات المماثلة لهذه الوحدة (أو لتلك التي تكون صنفًا فرعيًا منها). يُعيد التابع each_object عدد الكائنات التي عُثر عليها. لا تُعاد الكائنات المباشرة (مثل Fixnums، و Symbols، و true، و false، و nil) أبدًا. إذا لم تُعطَ أي كتلة إلى التابع each_object، فستُعاد نسخةٌ من ...

التابع Module.included‎ في روبي

يمثِّل التابع included رد نداء يُستدعَى في كل مرة يتم تضمين المستقبل (receiver) في وحدة أو صنف آخر. يُفضل استخدام هذا التابع على استخدام التابع append_features إن كنت تريد تنفيذ بعض الإجراءات عند تضمين وحدة في أخرى. البنية العامة included(othermod)‎ المعاملات othermod‎ وحدة من النوع Module. أمثلة مثال على استخدام التابع included‎: module A def A.included(mod) puts "#{self} included in #{mod}" end end module Enumerable include A end # => prints "A included in Enumerable"‎ انظر أيضا التابع include?‎: ...

التابع ‎Module.include?‎‎ في روبي

يتحقق التابع include?‎ إن كانت الوحدة المعطاة مُضمّنة في الوحدة التي استُدعي معها أو أحد أسلافها (ancestors). البنية العامة include?(module) → true or false‎ المعاملات module‎ الوحدة المراد التحقق منها. القيمة المعادة تعاد القيمة true إن كانت الوحدة module المعطاة مُضمّنة في الوحدة التي استُدعي معها أو أحد أسلافها (ancestors)، وإلا فستُعاد القيمة false. أمثلة مثال على استخدام التابع include?‎: module A end class B include A end class C < B end B.include?(A) #=> true C.include?(A) #=> true A.include?(A) #=> false‎ ...

التابع 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 ...

التابع Module.name‎ في روبي

يعيد التابع name اسم الوحدة، أو يعيد القيمة nil إن كانت الوحدة مجهولة (anonymous modules). البنية العامة name → string‎ القيمة المعادة يعاد اسم الوحدة، أو القيمة nil إن كانت الوحدة مجهولة. انظر أيضا التابع module_function: ينشئ دوال وحدة (module functions) للتابع المعطى. مصادر قسم التابع name‎ في الصنف Module‎ في توثيق روبي الرسمي.

التابع Object.extend في روبي

يُضيف التابع extend توابع النسخة (instance) من كُلِّ وحدةٍ مُرِّرت إليه إلى الكائن الذي استدعي معه. البنية العامة extend(module, ...) → obj المعاملات module الوحدة المراد إضافة توابع النسخة منها. القيم المعادة يُعاد الكائن المعطى مضافًا إليه توابع النسخة من الوحدات المُمرَّرة. أمثلة مثالٌ عن استخدام التابع extend: module Mod def hello "Hello from Mod.\n" end end class Klass def hello "Hello from Klass.\n" end end k = Klass.new k.hello ...

التابع UnboundMethod.owner‎ في روبي

يعيد التابع owner الصنف أو الوحدة (module) التي تعرف التابع الحر الذي استدعي معه. البنية العامة owner → class_or_module‎ القيمة المعادة يعاد الصنف أو الوحدة (module) التي تعرف التابع الحر. انظر أيضًا التابع original_name: يعيد الاسم الأصلي للتابع الحر الذي استُدعي معه. التابع parameters: يعيد معلومات عن معاملات التابع الحر الذي استُدعي معه. مصادر قسم التابع owner‎ في الصنف UnboundMethod‎ في توثيق روبي الرسمي.

التابع Module.using‎ في روبي

يستورد التابع using الأصناف المحسَّنة (class refinements) من الوحدة المٌمررة إليه إلى التعريف الحالي للصنف أو الوحدة. البنية العامة using(module) → self‎ المعاملات module‎ الوحدة التي سيُستورد منها الأصناف المحسَّنة. القيمة المعادة يعاد الكائن المعطى نفسه. انظر أيضا التابع refine: يحسِّن الوحدة المستقبلة (receiver) ثم يعيد الوحدة التي عُرِّفت فيها التوابع المحسَّنة. التابع used_modules: يعيد مصفوفة تحتوي جميع الوحدات (modules) المستخدمة في النطاق الحالي. مصادر قسم التابع using‎ في الصنف Module‎ في توثيق روبي الرسمي.

التابع Module.included_modules‎ في روبي

يعيد التابع included_modules قائمة بالوحدات المضمنة في الوحدة التي استُدعي معها. البنية العامة included_modules → array‎ القيمة المعادة تعاد مصفوفة تحوي الوحدات المضمنة في الوحدة التي استُدعي معها. أمثلة مثال على استخدام التابع included_modules‎: module Mixin end module Outer include Mixin end Mixin.included_modules #=> [] Outer.included_modules #=> [Mixin]‎ انظر أيضا التابع include: يستدعي التابع Module.append_features على كل المعاملات الممررة بترتيب عكسي. التابع included: يُستدعى في كل مرة يتم تضمين المستقبل (receiver) في وحدة أو صنف آخر. التابع include?‎: يتحقق إن كانت الوحدة المعطاة مُضمّنةً ...

التابع Module.autoload‎ في روبي

يُُسجل التابع autoload اسم الملف المراد تحميله (باستخدام Kernel::require) في أول مرة يتم فيها الوصول إلى الوحدة الممررة (والتي قد تكون سلسلةً نصيةً أو رمزًا) في مجال أسماء الوحدة التي استُدعيت معه. البنية العامة autoload(module, filename)→ nil‎ المعاملات module‎ سلسلة نصية أو رمز يمثل الوحدة. filename‎ اسم الملف. القيمة المعادة تعاد القيمة nil. أمثلة مثال على استخدام التابع autoload‎: module A end A.autoload(:B, "b") A::B.doit # autoloads "b"‎ انظر أيضا التابع 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 بالحسبان ...

التحسينات في روبي

إن ميّزة الأصناف المفتوحة في لغة روبي تسمح لك بإعادة تعريف أو إضافة وظائف إلى أصناف معرّفة مسبقًا. وهذا ما يسمى بمصطلح "ترقيع القرد" (monkey patch). المشكلة هنا أنَّ تعديلات من هذا النوع تكون مرئيّة على المستوى العام (global)، وبالتالي جميع مستخدمي الصنف المرقّع قادرون على رؤية هذه التغييرات، ممّا قد يسبّب تأثيرات جانبيّة غير محسوبة أو حتى عطب في البرامج. تأتي التحسينات هنا لتقلّل أثر ترقيع القرد على مستخدمي الصنف الآخرين، إذ تقدّم طريقة لتوسيع الصنف محليًّا. وإليك مثال ...

التابع Module.extend_object‎ في روبي

يوسع التابع extend_object الكائن المعطى بإضافة ثوابت و توابع هذه الوحدة (والتي تُضاف كتوابع فردية [singleton methods]). هذا هو التابع المستخدم من قبل Object.extend. البنية العامة extend_object(obj) → obj‎ المعاملات obj‎ الكائن المراد توسعته. القيمة المعادة يعاد الكائن obj بعد توسيعه. أمثلة مثال على استخدام التابع extend_object‎: module Picky def Picky.extend_object(o) if String === o puts "Can't add Picky to a String" else puts ...

التابع autoload‎ الخاص بالصنف Kernel في روبي

يسجل التابع autoload اسم الملف المعطى لكي يُحمّل (باستخدام Kernel::require) في المرة الأولى التي يتم الوصول فيها إلى وحدة محدَّدة. البنية العامة autoload(module, filename)→ nil‎ المعاملات module سلسلةٌ نصيةٌ أو رمزٌ (symbol) يمثِّل اسم الوحدة. filename اسم الملف. المراد تحميله عن الوصول إلى الوحدة module. القيمة المعادة تعاد القيمة nil عند نجاح العملية. أمثلة مثال على استخدام التابع autoload‎: autoload(:MyModule, "/usr/local/lib/modules/my_module.rb") ‎ انظر أيضا التابع autoload?‎: يعيد اسم الملف المراد تحميله إذا سُجّل للتحميل عند الوصول إلى وحدة محدَّدة عبر التابع autoload. ...

الصنف Class في روبي

تُعدُّ الأصناف كائناتٍ من الدرجة الأولى (first-class objects) في روبي، وتعدُّ جميعها نُسخٌ من الصنف Class. عادةً، يمكن عادةً إنشاء صنف جديد بالشكل التالي: class Name # تكتب هنا الشيفرة التي تعرف سلوك الصنف end عندما يُنشَأ صنف جديد، يهيَّأ كائن من النوع Class ويسند إلى ثابت عام (global constant، هو Name في المثال السابق). عند استدعاء Name.new لإنشاء كائن جديد، يُنفَّذ التابع new الخاص بالصنف Class بشكل افتراضي. يمكن إثبات ذلك من خلال إعادة تعريف التابع new: class Class alias old_new ...

التابع Object.dup في روبي

ينتج التابع dup نسخةً سطحية (shallow copy) من الكائن. تُنسَخ متغيرات النسخة (instance variables) من الكائن، ولكن لا تُنسَخ الكائنات التي تشير إليها (referenced objects). يَنسخ التابع dup الحالة التالفة (tainted state) من الكائن. قد يملك هذا التابع سلوكًا محدَّدًا بالصنف (class-specific behavior)، إذا كان كذلك، سيُوثَّق هذا السلوك تحت التابع ‎.initialize_copy من الصنف نفسه. ما هو الفرق بين التابع clone والتابع dup؟ عمومًا، قد يمتلك التابعين clone و dup دلالاتٍ مختلفةٍ في الأصناف السليلة (descendant classes). لمَّا كان التابع ...

التابع Module.freeze‎ في روبي

يمنع التابع freeze إجراء المزيد من التعديلات على الوحدة. البنية العامة freeze → mod‎ القيمة المعادة يعاد الكائن المعطى نفسه. انظر أيضا التابع extended: يكافئ التابع included إلا أنه يُستخدم مع الوحدات الموسعة (extended modules). التابع include: يستدعي التابع Module.append_features على كل المعاملات الممررة بترتيب عكسي. مصادر قسم التابع freeze‎ في الصنف Module‎ في توثيق روبي الرسمي.

التابع Method.owner‎ في روبي

يعيد التابع owner الصنف أو الوحدة (module) التي تُعرِّف الكائن Method الذي استُدعي معه. البنية العامة owner → class_or_module‎ القيمة المعادة يعاد الصنف أو الوحدة التي تُعرِّف الكائن Method المعطى. انظر أيضا التابع original_name: يعيد الاسم الأصلي للتابع الذي استُدعي معه. التابع parameters: يعيد معلومات عن وسائط التابع الذي استُدعي معه. مصادر قسم التابع owner‎ في الصنف Method‎ في توثيق روبي الرسمي.

التابع ‎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) مفعلًا له، ...

التابع 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.original_name‎ في روبي

يعيد التابع original_name الاسم الأصلي التابع الحر الذي استُدعي معه. البنية العامة original_name → symbol‎ القيمة المعادة يعاد رمزٌ يمثِّل الاسم الأصلي التابع الحر المعطى. أمثلة مثال على استخدام التابع original_name‎: class C def foo; end alias bar foo end C.instance_method(:bar).original_name # => :foo‎ انظر أيضًا التابع name: يعيد اسم التابع. التابع owner: يعيد الصنف أو الوحدة (module) التي تعرف التابع الحر. مصادر قسم التابع original_name‎ في الصنف UnboundMethod‎ في توثيق روبي الرسمي.

التابع Module.include‎ في روبي

يستدعي التابع include التابع append_features على كل المعاملات المُمرَّرة بترتيب عكسي. البنية العامة include(module, ...) → self‎ المعاملات module‎ يمثل الوحدة التي سيُستدعَى التابع append_features عليها. ... يمثل الوحدات الأخرى التي سيُستدعَى التابع append_features عليها بترتيب عكسي. القيمة المعادة يعاد الكائن المعطى. انظر أيضا التابع include?‎: يتحقق إن كانت الوحدة المعطاة مُضمّنة في الوحدة التي استُدعي معها أو في أحد أسلافها (ancestors). التابع included: يُستدعى في كل مرة يتم تضمين المستقبل (receiver) في وحدة أو صنف آخر. التابع included_modules: يعيد قائمة بالوحدات المضمنة في ...

التابع 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.ancestors‎ في روبي

يعيد التابع ancestors قائمة مكونة الوحدات المُتضمنة/المضافة إلى الوحدة التي استُدعيت معها (بما في ذلك الوحدة نفسها). البنية العامة ancestors → array‎ القيمة المعادة تعاد قائمة مكونة الوحدات المُتضمنة/المضافة إلى الوحدة المعطاة (بما في ذلك الوحدة نفسها). أمثلة مثال على استخدام التابع ancestors‎: module Mod include Math include Comparable prepend Enumerable end Mod.ancestors #=> [Enumerable, Mod, Comparable, Math] Math.ancestors #=> [Math] Enumerable.ancestors #=> [Enumerable]‎ انظر أيضا التابع alias_method: ينشئ اسمًا ...

التابع ‎Module.autoload?‎‎ في روبي

يعيد التابع autoload?‎ اسم الملف الذي سيُحمل إن كان المعامل المعطى مسجلًا عبر التابع autoload في مجال أسماء الوحدة التي استُدعي معها. البنية العامة autoload?(name)→ String or nil‎ القيمة المعادة تعاد سلسلة نصية تمثِّل اسم الملف الذي سيُحمل إن كان الوسيط المعطى مسجلًا عبر التابع autoload في مجال أسماء الوحدة التي استُدعي معها. أمثلة مثال على استخدام التابع autoload?‎: module A end A.autoload(:B, "b") A.autoload?(:B) #=> "b"‎ انظر أيضا التابع autoload: يُُسجل اسم الملف ...

التابع 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?‎: يتحقق إن كان التابع المعطى مُعرّفًا في الوحدة أو ...

الصنف Symbol في روبي

تمثل كائنات الصنف Symbol أسماء وسلاسل نصية داخل مترجم (interpreter) روبي. يمكن إنشاؤها باستخدام الصياغتين الحرفيتين ‎:name و ‎:"string"‎، أو بواسطة التوابع to_sym. سيتم إنشاء نفس الرمز (نفس الكائن Symbol) لاسم أو سلسلة نصية معينة طوال مدة تنفيذ البرنامج، بغض النظر عن السياق أو معنى هذا الاسم. وبالتالي، إن كان Fred ثابتًا في سياق معيّن، وتابعًا في سياق آخر، وصنفًا في سياق ثالث، فسيكون الرمز Symbol :Fred نفس الكائن في جميع السياقات الثلاث. module One class Fred end ...

التابع Module.append_features‎ في روبي

عندما تكون هذه الوحدة مُضمّنة في وحدة أخرى، فستستدعي روبي التابع append_features في هذه الوحدة، وتمرر إليه الوحدة المستقبلة (receiving module) التي استُدعيت معه. البنية العامة append_features(mod)→ mod‎ الإعداد الافتراضي لروبي هو إضافة ثوابت، وتوابع، ومتغيرات هذه الوحدة إلى المعامل mod إذا لم تكن هذه الوحدة مضافةً سلفًا هي أو أحد أسلافها (ancestors) إلى المعامل mod. المعاملات mod‎ الوحدة التي ستطبق عليها العملية. القيمة المعادة تعاد الوحدة المعطاة بعد إضافة ثوابت وتوابع ومتغيرات الوحدة المعطاة. انظر أيضا التابع ancestors: يعيد قائمة مكونة ...

التابع 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 ...

التابع Module.alias_method‎ في روبي

ينشئ التابع alias_method اسمًا جديدًا (بديلًا) لتابع محدَّد. يمكن استخدام هذا التابع للاحتفاظ بإمكانية الوصول إلى التوابع التي أُعيد تعريفها. البنية العامة alias_method(new_name, old_name)→ self‎ المعاملات new_name‎ الاسم الجديد للتابع old_name‎. old_name‎ اسم التابع القديم المراد إنشاء اسم جديد بديل له. القيمة المعادة يعاد الكائن المعطى. أمثلة مثال على استخدام التابع alias_method‎: module Mod alias_method :orig_exit, :exit def exit(code=0) puts "Exiting with code #{code}" orig_exit(code) end end include Mod exit(99)‎ ناتج تنفيذ الشيفرة هو: Exiting with ...

التحميل التلقائي وإعادة تحميل الثوابت في ريلز

يوثق هذا الدليل طريقة عمل التحميل التلقائي وإعادة تحميل الثوابت. بعد قراءة هذا الدليل، ستتعلم: الجوانب الرئيسية لثوابت لغة روبي. ماهية autoload_paths وكيفية عمل التحميل الحثيث (eager loading) في الإنتاج. كيفية عمل التحميل التلقائي للثابت. ماهية need_dependency. كيفية عمل إعادة التحميل للثابت. حلول للتحميل التلقائي المشترك. المقدمة تسمح لغة ريلز بكتابة تطبيقات كما لو حملت الشيفرة الخاص بها مسبقًا. في أصناف برنامج روبي عادي، تحتاج إلى تحميل جميع اعتماديته (dependencies): require 'application_controller' require 'post' class PostsController < ApplicationController def index ...

التابع 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: يعيد الصنف ...

التابع 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=]‎ ...

التابع 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, ...

التابع TracePoint.defined_class‎ في روبي

يُعيد التابع defined_class صنف أو وحدة التابع المُستدعى. class C; def foo; end; end trace = TracePoint.new(:call) do |tp| p tp.defined_class #=> C end.enable do C.new.foo end إذا تم تعريف التابع بواسطة وحدة، فستعاد تلك الوحدة. module M; def foo; end; end class C; include M; end; trace = TracePoint.new(:call) do |tp| p tp.defined_class #=> M end.enable do C.new.foo end ملحوظة: يُعيد التابع defined_class صنفًا مفردًا (singleton class). وسيط الكتلة السادس في التابع Kernel.set_trace_func يُمرَّر الصنف الأصليً (original class) للكائن عبر الصنف المفرد. هذا أحد الفوارق ...

التابع 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 ...

التابع Module.undef_method‎ في روبي

يمنع التابع undef_method الصنف الحالي من الاستجابة للاستدعاءات الموجهة إلى التابع المعطى. سلوك هذا التابع مخالف لسلوك التابع remove_method الذي يحذف التابع من الصنف المعين؛ ستبحث روبي في الأصناف العليا (superclasses) وفي الوحدات المختلطة (mixed-in modules) عن مُستقبِل (receiver) محتمل. البنية العامة undef_method(symbol) → self undef_method(string) → self‎ المعاملات symbol‎ رمز يمثل التابع. string‎ سلسلة نصية تمثل التابع. يحول هذا المعامل إن أعطي إلى رمز. القيمة المعادة يعاد الكائن المعطى نفسه. أمثلة مثال على استخدام التابع undef_method‎: class Parent def hello ...

التابع Module.instance_methods‎ في روبي

يعيد التابع instance_methods مصفوفةً تحتوي على أسماء توابع النسخ (instance methods) العامة والمحمية (protected) في المستقبِل. بالنسبة للوحدات، ستكون التوابع هي العامة والمحمية. أما بالنسبة للأصناف، فستكون تلك التوابع هي توابع النسخ (وليس التوابع المفردة [singleton methods]). إذا كان أعطي المعامل الاختيار وكانت قيمته false، فلن يتم تضمين توابع الأسلاف (ancestors). البنية العامة instance_methods(include_super=true)→ array‎ المعاملات include_super‎ قيمة منطقية إن أعطيت وكانت false، فلن يتم تضمين توابع الأسلاف (ancestors). القيمة المعادة تعاد مصفوفة تحتوي على أسماء توابع النسخ العامة والمحمية (protected) ...

التابع 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] إن كان صنفًا). خلا ...

التابع Object.singleton_methods في روبي

يُعيد التابع singleton_methods مصفوفةً تحوي أسماء توابع الكائن المنفردة (singleton methods). إذا مُرِّرت القيمة true إلى التابع، فستتضمَّن القائمة توابع الوحدات المُضمَّنة في الكائن المعطى أيضًا. تُعاد فقط التوابع المنفردة العامَّة والمحميَّة. البنية العامة singleton_methods(all=true) → array المعاملات all معامل اختياري يأخذ إمَّا القيمة true (افتراضيًا)، أو القيمة false. القيم المعادة تُعاد مصفوفةٌ تحوي أسماء التوابع المنفردة للكائن المعطى إذا لم يعطَ المعامل all أو كانت قيمته true. إذا كانت قيمة المعامل all هي false، فستتضمَّن تلك المصفوفة المعادة التوابع ...

المعامل ==‎ الخاص بالصنف Method في روبي

يتحقق المعامل == من تساوي كائنين من النوع Method. يكون كائنان من النوع Method متساويين إن كانا مرتبطين بنفس الكائن، وكانا لهما نفس التعريف، وكان لهما نفس الصنف أو الوحدة (module) المالكة. البنية العامة meth == other_meth → true or false‎ القيمة المعادة تُعاد القيمة true إن كان الكائنان متساويين، وإلا فستُعاد القيمة false. انظر أيضا التابع ===: يستدعي كتلة التابع مع تمرير الكائن الواقع على يمينه كوسيط إلى المعامل الواقع على يساره كما هو الحال في Proc.call. مصادر قسم ...

التابع 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 ...

التابع 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 ...

التابع Module.private‎ في روبي

يعين التابع private المرئية (visibility) الافتراضية للتوابع المحددة لاحقًا إلى المرئية private الخاصة إن استدعي دون تمرير أي شيء إليه. أما في حال تمرير اسم تابع (أو عدة توابع إليه)، فسيضبط مرئية هذه التوابع إلى المرئية private الخاصة. تذكر أنه لإظهار تابع خاص على RDoc، استخدم :doc:. البنية العامة private → self private(symbol, ...) → self private(string, ...) → self‎ المعاملات symbol‎ رمز يمثل التابع المراد ضبط مرئيته إلى خاصة. string‎ سلسلة نصية تمثل التابع المراد ضبط مرئيته إلى خاصة. يحول هذا ...

التابع Marshal.dump‎ في روبي

يُسلسل (Serializes) التابع dump الكائن المعطى وجميع الكائنات المنحدرة منه (descendant objects). في حال تمرير كائن من النوع IO، فستُكتب البيانات المُسَلسلة فيه، وإلا فستُعاد البيانات كسلسلة نصية. البنية العامة dump( obj [, anIO] , limit=-1 ) → anIO‎ في حال تمرير المعامل limit، فسيقتصر التابع dump على سَلسَلة الكائنات الفرعية حتى العمق المحدد. إذا كان limit سالبًا، لن يكون هناك أي تحقق من للعمق. لا يمكن للتابع Marshal تفريغ (dump) الكائنات التالية: الوحدات أو الأصناف المجهولة (anonymous Class/Module). الكائنات المرتبطة بالنظام (مثل ...

التابع ?Object.is_a في روبي

يتحقَّق التابع ?is_a إن كان الصنف المُمرَّر إليه هو نفسه صنف الكائن الذي استدعي معه، أو إن كان هذا الصنف أحد الأصناف العليا (superclasses) للكائن المعطى أو الوحدات المُضمَّنة في هذا الكائن. البنية العامة is_a?(class) → true or false المعاملات class الصنف المراد التحقق منه. القيم المعادة تُعاد القيمة true إذا كان الصنف class هو نفسه صنف الكائن المعطى، أو أنه أحد الأصناف العليا أو الوحدات المُضمَّنة في الكائن المعطى؛ خلاف ذلك، تُعاد القيمة false. أمثلة مثالٌ عن استخدام التابع ...

التابع ?Object.kind_of في روبي

يتحقَّق التابع ?kind_of إن كان الصنف المُمرَّر إليه هو نفسه صنف الكائن المعطى، أو أنه واحدٌ من الأصناف العليا  (superclasses) لذلك الكائن أو الوحدات المُضمَّنة فيه. البنية العامة kind_of?(class) → true or false المعاملات class الصنف المراد التحقق منه. القيم المعادة تُعاد القيمة true إذا كان الصنف class هو نفسه صنف الكائن المعطى، أو أنه واحدٌ من الأصناف العليا لهأو الوحدات المُضمَّنة فيه؛ خلاف ذلك، تُعاد القيمة false. أمثلة مثالٌ عن استخدام التابع ?kind_of: module M; end class ...

التابع Object.methods في روبي

يُعيد التابع methods قائمةً بالتوابع العامَّة والمحميَّة للكائن المعطى. تتضمن هذه القائمة جميع التوابع المتاح الوصول إليها في أسلاف (ancestors) الكائن. إذا مُرِّرت القيمة false للمعامل الاختياري الوحيد في التابع، فسيُعيد مصفوفةً من توابع الكائن (أو عددًامحدَّدًا من الكائنات) المنفردة (singleton) العامَّة والمحميَّة. لن تحتوي هذه المصفوفة على توابع الوحدات المُضمَّنة في الكائن (أو عددًا محدَّدًا من الكائنات). البنية العامة methods(regular=true) → array المعاملات regular معامل اختياري يأخذ القيمة true (الافتراضيَّة) أو flase. القيم المعادة تُعاد مصفوفةٌ تحوي جميع توابع ...

التابع 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) ...

التابع load‎ الخاص بالصنف Kernel في روبي

يحمّل التابع load وينفّذ برنامج روبي في الملف المعطى. في حال لم لميكن بالإمكان استبيان مسار الملف المطلق (absolute path)، فسيتم البحث عن الملف في مجلدات المكتبة الموجودة في ‎$:‎. إذا كان الوسيط الاختياري wrap يساوي true، فسيُنفذ النص البرمجي المحمّل كوحدة مجهولة (anonymous module)، لحماية مجال الأسماء الخاص بالبرنامج المُستدعَى. لن يتم نشر أيّ من المتغيرات المحلية الموجودة في الملف الذي تم تحميله تحت أي ظرف من الظروف في بيئة التحميل. البنية العامة load(filename, wrap=false)→ true‎ المعاملات filename‎ اسم ...

التابع 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: يُستَدعى هذا التابع كرد نداءٍ ...

import

التعبير البرمجي import يُستخدَم لاستيراد ما صُدِّر من وحدة (module) أخرى. لاحظ أنَّ دعم هذه الميزة ما يزال محدودًا، لذا انظر إلى قسم «دعم المتصفحات» قبل استخدامها. البنية العامة import defaultExport from "module-name"; import * as name from "module-name"; import { export } from "module-name"; import { export as alias } from "module-name"; import { export1 , export2 } from "module-name"; import { export1 , export2 as alias2 , [...] } from "module-name"; import defaultExport, { export [ , [...] ] } from "module-name"; import defaultExport, * ...

التابع Enumerator::Lazy.new في روبي

ينشئ التابع new كائن تعداد جديد من النوع Enumerator::Lazy. عندما يُبدَأ بتعداد (enumerate) المُعدِّد (Enumerator) -عبر استدعاء التابع force مثلًا-، سيُعدَّد الكائن المُمرَّر إلى هذا التابع وستُمرَّر كل قيمة إلى الكتلة المعطاة. يمكن للكتلة أن تعيد القيمة الناتجة باستعمال yielder. البنية العامة new(obj, size=nil) { |yielder, *values| ... } المعاملات obj الكائن المراد تعداده عبر النمط الكسول (lazy). size القيمة الافتراضية هي: nil. أمثلة مثال على استعمال التابع new لإنشاء تابع باسم filter_map في النمط الكسول (lazy) وغير الكسول (non-lazy): module Enumerable ...

Ruby/Topics

تثبيت روبي توجد طرائق عدَّة لتنزيل وتثبيت روبي على كل منصة وهي: إمَّا استعمال أنظمة مدير الحزم، أو باستعمال المثبِّتات التلقائية، أو باستعمال مدراء روبي. هنالك طريقة أخرى يمكنك بالتأكيد استعمالها لتثبيت روبي وتصريف شيفراتها وهي بنائها من الشيفرة المصدرية مباشرةً. حول روبي يوفر هذا القسم لمحة سريعة عن لغة روبي ونشأتها، وتطورها، ومزاياها التي انفردت بها عن اللغات الأخرى، والتنفيذات المختلفة التي تملكها. البنية العامة بنية اللغة تعد روبي مزيجًا من اللغات البرمجية التالية: Perl، و Smalltalk، و Eiffel، ...

التابع 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 إن لم تكن ...

أساسيات إنشاء الإضافات في ريلز

تُعدّ الإضافات في ريلز امتدادًا أو تعديلًا للإطار الأساسي. توفر الإضافات: وسيلة لمطورين لمشاركة الأفكار المتطورة دون الإضرار بقاعدة الشيفرات الثابتة. بنية مجزأة بحيث يمكن إصلاح أو تحديث وحدات الشيفرة وفقًا لجدول إصدارها الخاص. منفذ للمطورين الأساسيين حتى لا يضطروا إلى تضمين كل ميزة جديدة بصريح العبارة. بعد قراءة هذا الدليل، ستتعلم: كيفية إنشاء الإضافات من الصفر. كيفية كتابة وتشغيل الإختبارات للإضافات. يصف هذا الدليل كيفية إنشاء واختبار إضافة من شأنها: توسيع أصناف روبي الأساسية مثل Hash و String. إضافة ...

التابع 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*| الكتلة ووسائطها ...

قوالب ملفات التصريحات في TypeScript

هذه ملفّات تصريحاتٍ ستساعدك كبدايةٍ لكتابة ملفّاتك الخاصّة، انظر صفحة هياكل المكتبات للتعرف على الملفّ الذي يجب عليك استخدامه. ‎ module.d.ts ‎ module-class.d.ts ‎ module-function.d.ts global.d.ts ‎module-plugin.d.ts‎ ‎global-plugin.d.ts‎ global-modifying-module.d.ts‎ مصادر صفحة Templates في توثيق TypeScript الرسمي.

معالجة الاستثناءات في روبي

يتمّ التعامل مع الاستثناءات بعد الكلمة rescue في الكتلة begin/end: begin  # الشيفرة التي قد تسبب ظهور استثناء برمجي rescue  # معالجة الاستثناء end  إذا كنت ضمن تابع، فلست بحاجة لاستخدام begin و end إلا إذا كنت ترغب بحدّ النّطاق الخاص بالاستثناء الذي ترغب بمعالجته: def my_method  # ... rescue  # ... end نفس الأمر يطبّق في الأصناف (classes) والوحدات (modules). يمكنك إسناد استثناء إلى متغيّر محليّ باستخدام الرمز ‎=>‎ متبوعًا باسم المتغيّر، وذلك في نهاية السطر الخاص بالكلمة rescue: begin  # ... rescue => exception  warn exception.message  raise # كرر ظهور ...

التابع 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| ...

الصنف Method في روبي

يتم إنشاء كائنات الصنف Method بواسطة التابع Object.method، وترتبط بكائن معين (وليس بالصنف وحسب). ويمكن استخدامها لاستدعاء التابع داخل الكائن، أو ككتلة (block) مرتبطة بمكرر (iterator). كما يمكن فك ارتباطها (unbound) من كائن محدد (سيؤدي ذلك إلى إنشاء الكائن UnboundMethod) ثم ربطها بآخر. class Thing def square(n) n*n end end thing = Thing.new meth = thing.method(:square) meth.call(9) #=> 81 [ 1, 2, 3 ...

الصنف UnboundMethod في روبي

تدعم روبي شكلين من التوابع الكائنية (objectified methods). يستخدم الصنف Method لتمثيل التوابع المرتبطة بكائن معين، ويمكن إنشاء كائنات التوابع من هذا النوع عبر التابع Object.method. تدعم روبي أيضًا التوابع الحرة (unbound methods)؛ وهي كائنات توابع غير مرتبطة بكائن معين. يمكن إنشاؤها إما عن طريق استدعاء Module.instance_method، أو عن طريق استدعاء unbind على تابع مرتبط (bound method object). نتيجة كليهما ستكون تابعًا حرًا (كائن من النوع UnboundMethod). لا يمكن استدعاء التوابع الحرة إلا بعد ربطها بكائن ما. ويجب أن يعيد ...

التابع Enumerable.max_by في روبي

يعيد التابع max_by العنصر الذي تعيد الكتلة المعطاة أكبر قيمة مقابلة له بعد تمرير عناصر الكائن القابل للتعداد إليها كلٌّ على حدة. إن لم تعطَ أية كتلة، فسيعيد التابع كائنًا من النوع Enumerator. البنية العامة max_by {|obj| block } → obj max_by → an_enumerator max_by(n) {|obj| block } → obj max_by(n) → an_enumerator المعاملات n إن أعطي هذا المعامل، فسيُعاد أكبر n عنصر في مصفوفة. تُرتَّب العناصر آنذاك في المصفوفة بشكل تنازلي بناءً على القيمة المقابلة التي تعيدها الكتلة. القيمة المعادة يعاد العنصر الذي تعيد ...

export

التعبير البرمجي export يمكن أن يُستخدَم عند إنشاء وحدات JavaScript (أي JavaScript modules) لتصدير الدوال أو الكائنات أو القيم الأوليّة (primitive values) من وحدة (module) لكي يمكن استخدامها من برنامج آخر باستخدام التعبير البرمجي import. لاحظ أنَّ دعم هذه الميزة ما يزال محدودًا، لذا انظر إلى قسم «دعم المتصفحات» قبل استخدامها. البنية العامة export { name1, name2, …, nameN }; export { variable1 as name1, variable2 as name2, …, nameN }; export let name1, name2, …, nameN; // also var, function export let ...

مجالات الأسماء والوحدات في TypeScript

ملاحظة حول المصطلحات تغيّرت طريقة استخدام المصطلحات في النسخة TypeScript 1.5، إذ كانت مجالات الأسماء (namespaces) تُسمّى قديمًا بمصطلح "الوحدات الداخليّة (internal modules)"، وما كان يُسمّى بالوحدات الخارجيّة (External modules) أصبح يُسمّى ببساطة بمصطلح "الوحدات (modules)" وهو ما سنغطّيه في هذه الصفحة. ويجب استخدام الكلمة المفتاحية ‎namespace‎ في الأماكن التي كانت تُستخدَم فيها الكلمة المفتاحية ‎module‎ للتصريح عن وحدة داخليّة في النسخ التي سبقت TypeScript 1.5، أي أنّ عليك استخدام ‎namespace X {‎ عوضًا عن ‎module X {‎ (انظر صفحة ...

الدالة session_module_name()‎ في PHP

(PHP 4, PHP 5, PHP 7) تعيد الدالة session_module_name()‎ أو تضبط الوحدة البرمجية المستخدمة للجلسة الحالية. الوصف string session_module_name ([ string $module ] ) تعيد  هذه الدالة أو تضبط الوحدة البرمجية المستخدمة للجلسة الحالية. المعاملات   module إذا تَم تحديد قيمة للمعامل، سيُستعمل بدلًا من الوحدة البرمجية المستخدمة للجلسة الحالية. القيم المعادة تُعيد الدالة الوحدة البرمجية المستخدمة للجلسة الحالية. مصادر صفحة الدالة ()session_module_name في توثيق PHP الرسمي.

الصنف BasicObject في روبي

الصنف BasicObject هو الصنف الأب لجميع الأصناف في روبي، وهو صنف فارغ. يمكن استخدام الصنف BasicObject لإنشاء هرميات كائنية (object hierarchies) مستقلة عن الهرمية الكائنية للغة روبي، أو لإنشاء مغلفات الكائنات (proxy objects) مثل الصنف Delegator، أو حيث يجب تجنب إفساد مجال الأسماء (namespace pollution) من قبل توابع وأصناف روبي. لتجنب إفساد الصنف BasicObject للمستخدمين الآخرين، يجب إنشاء صنف فرعي من الصنف BasicObject تحت اسم مناسب بدلاً من تعديل BasicObject مباشرةً: class MyObjectSystem < BasicObject end لا يتضمَّن الصنف BasicObject الوحدة Kernel ...

الكائنات العامة‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎ في Node.js

هذه الكائنات متوفرة في جميع الوحدات (modules). قد تبدو المتغيرات التالية عامة ولكنها ليست كذلك. وهي موجودة فقط داخل نطاق الوحدات، راجع صفحة توثيق نظام الوحدات: ‎__dirname ‎__filename exports module require()‎‎‎ الكائنات المذكورة هنا خاصة ببيئة تشغيل Node.js. هناك عدد من الكائنات المضمنة التي تعد جزءًا من لغة JavaScript نفسها، والتي يمكن الوصول إليها عمومًا أيضًا. الصنف Buffer أُضيف مع الإصدار: v0.1.103. <function> يستخدم لمعالجة البيانات الثنائية. راجع صفحة توثيق buffer. ‎__dirname قد يبدو هذا المتغير عامًا ولكنه ليس كذلك. ...

التابع Unpickler.find_class()‎ في بايثون

يستورد التابع الوحدة المعطاة إذا اقتضت الحاجة ويعيد الكائن الذي يحمل الاسم المحدّد. تجدر الإشارة إلى أنّه وعلى خلاف ما يشير إليه اسم هذا التابع، فبالإمكان استخدام find_class()‎ للعثور على الدوال. يمكن للأصناف الفرعية أن تعيد تعريف override هذا التابع للتحكم بأنواع الكائنات المستوردة وطريقة تحميلها، وقد يساهم هذا في تقليل الأخطار الأمنية. راجع قسم تقييد المتغيرات العامة للمزيد من التفاصيل. البنية العامة find_class(module, name) ‎المعاملات module سلسلة نصية تتضمن اسم الوحدة التي يستوردها التابع. name سلسلة نصية تتضمن اسم ...

الوحدات في TypeScript

ملاحظة حول المصطلحات تغيّرت طريقة استخدام المصطلحات في النسخة TypeScript 1.5، إذ كانت مجالات الأسماء (namespaces) تُسمّى قديمًا بمصطلح "الوحدات الداخليّة (internal modules)"، وما كان يُسمّى بالوحدات الخارجيّة (External modules) أصبح يُسمّى ببساطة بمصطلح "الوحدات (modules)" وهو ما سنغطّيه في هذه الصفحة. ويجب استخدام الكلمة المفتاحية ‎namespace‎ في الأماكن التي كانت تُستخدَم فيها الكلمة المفتاحية ‎module‎ للتصريح عن وحدة داخليّة في النسخ التي سبقت TypeScript 1.5، أي أنّ عليك استخدام ‎namespace X {‎ عوضًا عن ‎module X {‎ (انظر صفحة ...

VM (تنفيذ JavaScript) في Node.js

مؤشر الاستقرار: 2 - مستقر. توفر الوحدة vm واجهات تطبيقات لترجمة وتشغيل الشيفرات البرمجية ضمن سياقات آلآت V8 الافتراضية. ويمكن ترجمة شيفرة JavaScript البرمجية وتشغيلها فورًا أو تجميعها وحفظها وتشغيلها لاحقًا. من الاستخدامات الشائعة، تشغيل التعليمات البرمجية في بيئة تجريبية معزولة (sandbox environment). وتُستخدم شيفرة sandbox سياق V8 مختلف، مما يعني انه يحتوي علي كائن عام مختلف عن باقي الشيفرة البرمجية. ويمكن توفير السياق عن طريق وضع كائن sandbox المعزول في السياق. وتعامل الشيفرةُ المعزولة أي خاصية في بيئة sandbox ...

مُحدِّدات الوصول (Visibility Modifiers) في لغة Kotlin

تُعيِّن مُحدِّدات الوصول قابليةَ الوصول إلى كلٍّ من الأصناف (classes) والكائنات (objects) والواجهات (interfaces) والدوال (functions) والخاصّيّات (properties) ودوال الوصول إليها من النوع setters (لأن مُحدِّد الوصول إلى getter مماثلٌ للوصول إلى الخاصّيّة نفسها)، وهناك أربعة أنواعٍ من المُحدِّدات وهي: private و protected و internal و public والنوع الافتراضيّ منها هو public (يُستخدم عند عدم وجود تصريحٍ عن إحداها)، وفيما يلي شرح لكيفيّة تطبيق المُحدِّدات على أنواعٍ مختلفةٍ من التصريحات (declarations). الحزم (Packages) يمكن تعريف كلٍّ من الدوال والخاصّيّات والأصناف ...

الخاصية orphans

الخاصية orphans في CSS تُحدِّد العدد الأدنى للأسطر النصية الموجودة في حاوية كتلية التي يجب أن تظهر في أسفل الصفحة أو العمود. بطاقة الخاصية القيمة الابتدائية 2 تُطبَّق على جميع الحاويات الكتلية (block containers). قابلة للوراثة لا قابلة للتحريك لا القيمة المحسوبة كما حُدِّدَت. في التنسيق الطباعي، تكون اليتامى (orphans) هي أول سطر من الفقرة الذي يظهر بمفرده في أسفل الصفحة أو العمود. /* <integer> أعداد صحيحة */ orphans: 2; orphans: 3; /* القيم العامة */ orphans: inherit; orphans: initial; orphans: unset; دعم المتصفحات الميزة Chrome ...

الوحدات القياسية في بايثون

تقدّم بايثون مكتبة تضمّ مجموعة من الوحدات القياسية (standard modules) وبعضها مدمج مع مفسّر بايثون وتتيح الوصول إلى عمليات هي ليست في الأصل جزءًا من اللغة، ولكن الهدف منها هو إما زيادة كفاءة عمل المفسّر أو لإتاحة الوصول إلى العمليات الأساسية في نظام التشغير مثل استدعاءات النظام (system calls). مجموعة الوحدات هذه هي جزء من خيارات إعدادات اللغة ولكنّها تعتمد أيضًا على نظام التشغيل الذي تعمل عليه اللغة. فعلى سبيل المثال وحدة winreg متوفّرة على أنظمة تشغيل ويندوز فقط. من ...

الوحدات القياسية في بايثون

تقدّم بايثون مكتبة تضمّ مجموعة من الوحدات القياسية (standard modules) وبعضها مدمج مع مفسّر بايثون وتتيح الوصول إلى عمليات هي ليست في الأصل جزءًا من اللغة، ولكن الهدف منها هو إما زيادة كفاءة عمل المفسّر أو لإتاحة الوصول إلى العمليات الأساسية في نظام التشغير مثل استدعاءات النظام (system calls). مجموعة الوحدات هذه هي جزء من خيارات إعدادات اللغة ولكنّها تعتمد أيضًا على نظام التشغيل الذي تعمل عليه اللغة. فعلى سبيل المثال وحدة winreg متوفّرة على أنظمة تشغيل ويندوز فقط. من ...

الخاصية widows

الخاصية widows في CSS تُحدِّد العدد الأدنى للأسطر النصية الموجودة في حاوية كتلية التي يجب أن تظهر في أعلى الصفحة أو العمود. بطاقة الخاصية القيمة الابتدائية 2 تُطبَّق على جميع الحاويات الكتلية (block containers). قابلة للوراثة لا قابلة للتحريك لا القيمة المحسوبة كما حُدِّدَت. في التنسيق الطباعي، تكون الأرامل (widows) هي آخر سطر من الفقرة الذي يظهر بمفرده في أعلى الصفحة أو العمود. /* <integer> أعداد صحيحة */ widows: 2; widows: 3; /* القيم العامة */ widows: inherit; widows: initial; widows: unset; دعم المتصفحات الميزة Chrome ...

وحدات ‎ECMAScript في Node.js

الاستقرار: 1-قيد التجريب تحوي Node.js دعمًا لوحدات ES اعتمادًا على Node.js EP من أجل وحدات ES. ليست جميع مزايا EP كاملةً بعد، وستُحضَر كدعمٍ وتنفيذٍ من أجل VM عندما يكون جاهزًا. لا تزال رسائل الخطأ في طور التحسين والتطوير. عملية التفعيل يمكن استعمال الراية ‎--experimental-modules‎ لتفعيل المزايا التي تمكن من تحميل وحدات ESM. متى ما ضُبِط ذلك، يمكن تحميل الملفات التي تنتهي باللاحقة ‎.mjs‎ كوحدات ES. node --experimental-modules my-app.mjs المزايا المزايا المدعومة يمكن أن يكون الوسيط CLI لنقطة الإدخال الرئيسية ...

خيارات سطر الأوامر في Node.js

يتوافر العديد من خيارات سطر الأوامر التي يمكن استعمالها مع Node.js. تُستعمَل هذه الخيارات في تنقيح أخطاء الشيفرة، والتحكم في كيفيَّة تنفيذ الشيفرة، وغيرها من الأمور المفيدة. يمكن عرض هذا التوثيق في الطرفيَّة عبر استعمال الأمر man node. البنية العامة node [options] [V8 options] [script.js | -e "script" | -] [--] [arguments] node debug [script.js | -e "script" | <host>:<port>] … node --v8-options إنَّ تنفيذ node دون أيَّة وسائط يؤدي إلى بدئها مع الوحدة REPL. لمزيدٍ من المعلومات حول node debug، راجع رجاءً ...

الخاصية list-style-image

الخاصية list-style-image في CSS تُحدِّد صورةً لتُستخدَم للإشارة إلى عناصر القائمة. ومن المستحسن عادةً استخدام الخاصية المختصرة list-style لضبط قيمة هذه الخاصية. بطاقة الخاصية القيمة الابتدائية none تُطبَّق على عناصر القوائم. قابلة للوراثة نعم قابلة للتحريك لا القيمة المحسوبة القيمة none أو رابط URI مطلق للصورة. /* كلمة مفتاحية */ list-style-image: none; /* <url> قيم */ list-style-image: url('starsolid.gif'); /* القيم العامة */ list-style-image: inherit; list-style-image: initial; list-style-image: unset; ملاحظة: هذه الخاصية ستُطبَّق على عناصر القوائم، أي العناصر التي تكون قيمة الخاصية display فيها تساوي list-item، وهذا يتضمن ...

المنقح Debugger في Node.js

درجة الثبات: 2 - مستقر كثيرًا ما نحتاج لتنقيح الشيفرات ومراجعتها من الأخطاء، لذلك يتضمن Node.js أداة تنقيح مستقلة يمكن الوصول إليها من خلال محقق V8 inspector وعميل تنقيح مدمج. لاحظ أن عميل تنقيح Node.js هنا هو أداة بسيطة وليست منقّحًا كامل الخصائص، لكنها تكفي في حالة تفحص خطوات تنفيذ الشيفرة. سنستخدم في مثالنا هذا ملف myscript: // myscript.js ‎global.x = 5; setTimeout(() => {  console.log('world'); }, 1000)‎; console.log('hello'); كما ترى، المثال المستخدم هنا بسيط، حيث يبدأ في السطر الأول بتحديد متغير عام x بقيمة 5، ...

الشروع في العمل مع المحركات في ريلز

ستتعرف في هذا الدليل على المحركات (engines) وكيف يمكن استخدامها لتوفير وظائف إضافية لتطبيقاتها المضيفة من خلال واجهة واضحة وسهلة الاستخدام للغاية. بعد قراءة هذا الدليل، ستتعلم: مما يتكون المحرك. كيف وُلِّد المحرك. كيفية بناء ميزات للمحرك. كيفية ربط المحرك في التطبيق. كيفية استبدال وظيفة المحرك في التطبيق. تجنب تحميل أطر ريلز مع خطافات التحميل (Load Hooks) وخطافات الضبط (Configuration Hooks). ما هي المحركات؟ تُعدُّ المحركات تطبيقات مصغرة توفر وظائف لتطبيقاتها المضيفة. تطبيق ريلز هو بالفعل محرك "supercharged"، مع الصنف ...

المشاريع متعددة المنصات (Multiplatform) في لغة Kotlin

ملاحظة: ما تزال ميّزة تعدّد منصّات العمل تجريبيّة في الإصدار Kotlin 1.2 وبالتالي فإن ما تحتويه هذه الصفحة قد يخضع للتغيير في إصدارات Kotlin القادمة. يسمح مشروع Kotlin متعدّد المنصّات بترجمة الشيفرة ذاتها إلى عدّة منصّاتٍ للعمل (platforms)، وتدعم Kotlin حاليًا البيئات: JVM و JavaScript بالإضافة إلى Native والتي لا زلت قيد التطوير وستُضاف رسميًا فيما بعد. بُنية المشروع متعدّد المنصّات (Multiplatform Project Structure) يتألف من ثلاثة أنواع من الوحدات (modules): الوحدة المشتركة (common module): تحتوي على الشيفرة العامّة التي ...

عرض (100 السابقة | 100 التالية) (20 | 50 | 100 | 250 | 500).