نتائج البحث
اذهب إلى التنقل
اذهب إلى البحث
الوحدة GC::Profiler في روبي
يوفر مُنشئ ملفات تعريف جمع البيانات المهملة GC::Profiler الوصول إلى معلومات عن تشغيلات GC بما في ذلك الوقت والطول وحجم مساحة الكائن. اطلع مثلًا على المثال التالي: GC::Profiler.enable
require 'rdoc/rdoc'
GC::Profiler.report
GC::Profiler.disable
اطلع أيضًا على صفحات التوابع GC.count و GC.malloc_allocated_size و GC.malloc_allocations. توابع الصنف العام clear يمسح بيانات مُنشئ ملفات تعريف GC. disable يوقف مُنشئ ملفات تعريف GC. enable يبدأ منشئ ملفات تعريف GC. enabled? يتحقق من الحالة الحالية لوضع مُنشئ ملفات تعريف GC. raw_data يعيد مصفوفة من الأنواع Hash تحوي بيانات ملفات التعريف الأولية الفردية مُرتَّبة من الأقدم إلى ...
الوحدة GC في روبي
توفر الوحدة GC واجهةً لتحديد ومسح آلية جمع البيانات المهملة (garbage collection) في روبي. تتوفر أيضًا بعض التوابع الأساسية من خلال الوحدة ObjectSpace. يمكن الحصول على المزيد من المعلومات حول تشغيل الوحدة GC من خلال الوحدة GC::Profiler. الثوابت INTERNAL_CONSTANTS OPTS توابع الصنف العامة add_stress_to_class count يعدُّ عدد مرات حدوث الوحدة GC. disable يعطِّل جمع البيانات المهملة، ويعيد القيمة true إذا كان جمع البيانات المهملة مُعطَّلًا مسبقًا. enable يفعِّل جمع البيانات المهملة، ويعيد القيمة true إذا كان جمع البيانات المهملة مُعطَّلًا مسبقًا. latest_gc_info يعيد معلومات حول أحدث ...
التابع GC::Profiler.clear في روبي
يمسح التابع clear بيانات مُنشئ ملفات تعريف GC. البنية العامة GC::Profiler.clear → nil
القيمة المعادة تعاد القيمة nil عند اكتمال تنفيذ العملية. انظر أيضا التابع disable: يوقف مُنشئ ملفات تعريف GC. التابع total_time: يعيد إجمالي الوقت المستخدم لتجميع البيانات المهملة بالثواني. مصادر قسم التابع clear في الصنف GC::Profiler في توثيق روبي الرسمي.
التابع GC::Profiler.enable في روبي
يبدأ التابع enable منشئ ملفات تعريف GC. البنية العامة GC::Profiler.enable → nil
القيمة المعادة تعاد القيمة nil عند اكتمال تنفيذ العملية. انظر أيضا التابع disable: يوقف مُنشئ ملفات تعريف GC. التابع enabled?: يتحقق من الحالة الحالية لوضع مُنشئ ملفات تعريف GC. مصادر قسم التابع enable في الصنف GC::Profiler في توثيق روبي الرسمي.
التابع GC::Profiler.disable في روبي
يوقف التابع disable مُنشئ ملفات تعريف GC. البنية العامة GC::Profiler.disable → nil
القيمة المعادة تعاد القيمة nil عند اكتمال تنفيذ العملية. انظر أيضا التابع enable: يبدأ منشئ ملفات تعريف GC. التابع enabled?: يتحقق من الحالة الحالية لوضع مُنشئ ملفات تعريف GC. مصادر قسم التابع disable في الصنف GC::Profiler في توثيق روبي الرسمي.
التابع GC::Profiler.report في روبي
يكتب التابع report الناتج ::result على المجرى $stdout أو كائن من النوع IO. البنية العامة GC::Profiler.report
GC::Profiler.report(io)
المعاملات io كائن من النوع IO يراد كتابة الناتج فيه. انظر أيضا التابع result: يعيد تقرير بيانات ملف التعريف. التابع total_time: يعيد إجمالي الوقت المستخدم لتجميع البيانات المهملة بالثواني. مصادر قسم التابع report في الصنف GC::Profiler في توثيق روبي الرسمي.
التابع GC::Profiler.enabled? في روبي
يتحقق التابع enabled? من الحالة الحالية لوضع مُنشئ ملفات تعريف GC. البنية العامة GC::Profiler.enabled? → true or false
القيمة المعادة تعاد القيمة true إن كان مُنشئ ملفات تعريف GC مفعَّلًا. خلا ذلك، تعاد القيمة false. انظر أيضا التابع disable: يوقف مُنشئ ملفات تعريف GC. التابع enable: يبدأ منشئ ملفات تعريف GC. مصادر قسم التابع enabled? في الصنف GC::Profiler في توثيق روبي الرسمي.
التابع GC::Profiler.total_time في روبي
يعيد التابع total_time إجمالي الوقت المستخدم لتجميع البيانات المهملة بالثواني. البنية العامة GC::Profiler.total_time → float
القيمة المعادة يعاد عدد عشري يمثِّل إجمالي الوقت المستخدم لتجميع البيانات المهملة بالثواني. انظر أيضا التابع report: يكتب الناتج ::result على المجرى $stdout أو كائن من النوع IO. التابع result: يعيد تقرير بيانات ملف التعريف. مصادر قسم التابع total_time في الصنف GC::Profiler في توثيق روبي الرسمي.
التابع GC::Profiler.result في روبي
يعيد التابع result تقرير بيانات ملف التعريف. البنية العامة GC::Profiler.result → String
القيمة المعادة يعاد تقرير بيانات ملف التعريف مثل: GC 1 invokes.
Index Invoke Time(sec) Use Size(byte) Total Size(byte) Total Object GC time(ms)
1 ...
التابع GC::Profiler.raw_data في روبي
يعيد التابع raw_data مصفوفة من الأنواع Hash تحوي بيانات ملفات التعريف الأولية الفردية مُرتَّبة من الأقدم إلى الأحدث بواسطة :GC_INVOKE_TIME. إليك مثلًا الشيفرة التالية: [
{
:GC_TIME=>1.3000000000000858e-05,
:GC_INVOKE_TIME=>0.010634999999999999,
:HEAP_USE_SIZE=>289640,
:HEAP_TOTAL_SIZE=>588960,
:HEAP_TOTAL_OBJECTS=>14724,
:GC_IS_MARKED=>false
},
# ...
]
وتعني المفاتيح الموجودة في الشيفرة ما يلي: :GC_TIME: الوقت Time المنقضي بالثواني لتشغيل GC هذا. :GC_INVOKE_TIME: الوقت Time المنقضي بالثواني ...
التابع GC.stress في روبي
يعيد التابع stress الحالة الحالية لوضع الضغط الذي يخص جامع البيات المهملة GC. البنية العامة stress → integer, true or false
القيمة المعادة تعاد الحالة الحالية لوضع الضغط الذي يخص جامع البيات المهملة GC. انظر أيضا التابع stress: يحدِّث عند استدعائه بالشكل stress = flag وضع الضغط الذي يخص جامع البيانات المهملة GC. مصادر قسم التابع stress في الصنف GC في توثيق روبي الرسمي.
التابع GC.stress في روبي
يحدِّث التابع stress عند استدعائه بالشكل stress = flag وضع الضغط الذي يخص جامع البيانات المهملة GC. عند تفعيل وضع الضغط، يُستدعى GC في كل فرصة يراد فيها جمع البيانات المهملة: كافة عمليات حجز الذاكرة والكائنات. سيؤدي تفعيل وضع الضغط إلى خفض الأداء، ويُستعمَل فقط للتنقيح. البنية العامة stress = flag → flag
المعاملات flag يمكن أن تكون الراية flag هي القيمة true، أو القيمة false، أو عدد صحيح مُجرى على بِتاته العملية OR تبعًا للرايات: 0x01:: no major GC
0x02:: no ...
التابع GC.count في روبي
يعدُّ التابع count عدد مرات حدوث الوحدة GC. البنية العامة count → Integer
القيمة المعادة يعاد عدد صحيح يمثِّل عدد مرات حدوث GC منذ بدء العملية. انظر أيضا التابع enable: يفعِّل جمع البيانات المهملة، ويعيد القيمة true إذا كان جمع البيانات المهملة مُعطَّلًا مسبقًا. التابع malloc_allocations: يعيد عدد عمليات الحجز التي أجريت باستعمالmalloc(). مصادر قسم التابع count في الصنف GC في توثيق روبي الرسمي.
التابع GC.stat في روبي
يعيد التابع stat جدول Hash يحتوي على معلومات حول GC. ومن المتوقع أن يعمل هذا التابع فقط علي روبي C. البنية العامة stat → Hash
stat(hash) → hash
stat(:key) → Numeric
القيمة المعادة يعاد جدول Hash يحوي معلومات حول GC. يتضمن الجدول معلومات حول الإحصائيات الداخلية حول GC مثل: {
:count=>0,
:heap_allocated_pages=>24,
:heap_sorted_length=>24,
:heap_allocatable_pages=>0,
:heap_available_slots=>9783,
:heap_live_slots=>7713,
:heap_free_slots=>2070,
:heap_final_slots=>0,
...
التابع Object.garbage_collect في روبي
يبدأ التابع garbage_collect عملية جمع المهملات (garbage collection)، إلّا إذا عُطِّلت يدويًا. يُعرَّف هذا التابع عبر وسائط الكلمات المفتاحية (keyword arguments) المُعيَّنة افتراضيًا للقيمة true: def GC.start(full_mark: true, immediate_sweep: true); end
يمكنك تعيين القيمة false للمعامل full_mark لتنفيذ الوحدة GC الثانوية. ويمكنك تعيين القيمة false للمعامل immediate_sweep لتأجيل الكنس (sweeping، استخدام الكنس الكسول [lazy sweep]). ملاحظة: تعتمد وسائط الكلمات المفتاحية على التطبيق والاصدار المُستخدم من روبي. لا يُضمن أن تبقى متوافقةً مستقبلًا، وقد يتم تجاهلها إذا كان التطبيق الأساسي لا يدعمها. ...
التابع GC.garbage_collect في روبي
يبدأ التابع garbage_collect تجميع البيانات المهملة، ما لم تُعطَّل يدويًا. عُرِّف هذا التابع مع وسائط مسماة قِيَمَها الافتراضية هي true: def GC.start(full_mark: true, immediate_sweep: true); end
ملاحظة: تعتمد الوسائط المسماة هذه على التنفيذ والإصدار المستعمل. ولا يُضمن أن تظل متوافقة في المستقبل، ويمكن تجاهلها إذا كان التنفيذ الأساسي لا يدعمها. البنية العامة garbage_collect → nil
include GC; garbage_collect → nil
garbage_collect(full_mark: true, immediate_sweep: true) → nil
المعاملات full_mark استعمل القيمة false مع هذا المعامل لتنفيذ عملية GC ثانوية. القيمة الافتراضية هي: true. immediate_sweep استعمل ...
التابع GC.verify_internal_consistency في روبي
يتحقَّق التابع verify_internal_consistency من الاتساق الداخلي. هذا التابع خاص بالتنفيذ. يتحقق هذا التابع الآن من تناسق الأجيال (generational consistency) إذا كان RGenGC مدعومًا. البنية العامة verify_internal_consistency → nil
القيمة المعادة تعاد القيمة nil بعد اكتمال تنفيذ العملية. انظر أيضا التابع latest_gc_info: يعيد معلومات حول أحدث عملية جمعٍ للبيانات المهملة. التابع stat: يعيد جدول Hash يحتوي على معلومات حول GC. ومن المتوقع أن يعمل هذا التابع فقط علي روبي C. مصادر قسم التابع verify_internal_consistency في الصنف GC في توثيق روبي الرسمي.
التابع GC.start في روبي
يبدأ التابع start تجميع البيانات المهملة، ما لم تُعطَّل يدويًا. عُرِّف هذا التابع مع وسائط مسماة قِيَمَها الافتراضية هي true: def GC.start(full_mark: true, immediate_sweep: true); end
ملاحظة: تعتمد الوسائط المسماة هذه على التنفيذ والإصدار المستعمل. ولا يُضمن أن تظل متوافقة في المستقبل، ويمكن تجاهلها إذا كان التنفيذ الأساسي لا يدعمها. البنية العامة start → nil
start(full_mark: true, immediate_sweep: true) → nil
المعاملات full_mark استعمل القيمة false مع هذا المعامل لتنفيذ عملية GC ثانوية. القيمة الافتراضية هي: true. immediate_sweep استعمل القيمة false مع هذا ...
التابع File.split في روبي
يقتطع التابع split مسار الملف المُمرَّر إليه إلى جزأين: أحدهما لمجلد، والآخر للملف ثم يعيدهما في مصفوفة. البنية العامة split(file_name) → array
المعاملات file_name اسم أو مسار الملف الذي ستُجرَى عليه العملية. القيمة المعادة تعاد مصفوفة من عنصرين تحوي ناتج اقتطاع المعامل file_name إلى جزأين: أحدهما لمجلد، والآخر لملف. أمثلة مثال على استعمال التابع split: File.split("/home/gumby/.profile") #=> ["/home/gumby", ".profile"]
انظر أيضا التابع basename: يعيد آخر مكوِّن من مسار اسم الملف المعطى. التابع dirname: يعيد جميع مكونات المسار المعطى لملفٍ ...
التابع File.fnmatch في روبي
يتحقق التابع fnmatch من تطابق مسار مع نمط محدَّد. هذا النمط ليس تعبيرًا نظاميًّا بل يتبع قواعد مشابهة لتعميم أسماء الملفات في الصدفة. البنية العامة fnmatch( pattern, path, [flags] ) → (true or false)
fnmatch?( pattern, path, [flags] ) → (true or false)
المعاملات pattern النمط المراد منه مطابقة المسار path المعطى. يمكن أن يحتوي على المحارف الخاصَّة (metacharacters، أو تدعى محارف الصدفة أيضًا) التالية: المحرف الخاص الوصف * يطابق أي ملف. يمكن أن يُقيَّد بقيم أخرى في النطاق العام (glob). هذا ...
التابع File.fnmatch? في روبي
يتحقق التابع fnmatch? من تطابق مسار مع نمط محدَّد. هذا النمط ليس تعبيرًا نظاميًّا بل يتبع قواعد مشابهة لتعميم أسماء الملفات في الصدفة. البنية العامة fnmatch?( pattern, path, [flags] ) → (true or false)
المعاملات pattern النمط المراد منه مطابقة المسار path المعطى. يمكن أن يحتوي على المحارف الخاصَّة (metacharacters، أو تدعى محارف الصدفة أيضًا) التالية: المحرف الخاص الوصف * يطابق أي ملف. يمكن أن يُقيَّد بقيم أخرى في النطاق العام (glob). هذا المحرف يقابل / * /x. في التعابير النظامية. ...
التابع GC.remove_stress_to_class في روبي
البنية العامة remove_stress_to_class(*args)
انظر أيضا التابع add_stress_to_class. التابع start: يبدأ تجميع البيانات المهملة، ما لم تُعطَّل يدويًا. مصادر قسم التابع remove_stress_to_class في الصنف GC في توثيق روبي الرسمي.
التابع GC.add_stress_to_class في روبي
البنية العامة add_stress_to_class(*args)
انظر أيضا التابع remove_stress_to_class. التابع enable: يفعِّل جمع البيانات المهملة، ويعيد القيمة true إذا كان جمع البيانات المهملة مُعطَّلًا مسبقًا. التابع malloc_allocations: يعيد عدد عمليات الحجز التي أجريت باستعمالmalloc(). مصادر قسم التابع add_stress_to_class في الصنف GC في توثيق روبي الرسمي.
التابع GC.malloc_allocated_size في روبي
يعيد التابع malloc_allocated_size حجم الذاكرة التي حُجزَت من قِبَل malloc(). ويتوفر هذا التابع فقط إذا بُنيت روبي مع CALC_EXACT_MALLOC_SIZE. البنية العامة malloc_allocated_size → Integer
القيمة المعادة يعاد عدد صحيح يمثِّل حجم الذاكرة التي حُجزَت من قِبَل malloc(). انظر أيضا التابع malloc_allocations: يعيد عدد عمليات الحجز التي أجريت باستعمال malloc(). مصادر قسم التابع malloc_allocated_size في الصنف GC في توثيق روبي الرسمي.
التابع GC.malloc_allocations في روبي
يعيد التابع malloc_allocations عدد عمليات الحجز التي أجريت باستعمال malloc(). ويتوفر هذا التابع فقط إذا بُنيت روبي مع CALC_EXACT_MALLOC_SIZE. البنية العامة malloc_allocations → Integer
القيمة المعادة يعاد عدد صحيح يمثِّل عمليات الحجز التي أجريت باستعمال malloc(). انظر أيضا التابع malloc_allocated_size: يعيد حجم الذاكرة التي حُجزَت من قِبَل malloc(). مصادر قسم التابع malloc_allocations في الصنف GC في توثيق روبي الرسمي.
Ruby/Topics
تثبيت روبي توجد طرائق عدَّة لتنزيل وتثبيت روبي على كل منصة وهي: إمَّا استعمال أنظمة مدير الحزم، أو باستعمال المثبِّتات التلقائية، أو باستعمال مدراء روبي. هنالك طريقة أخرى يمكنك بالتأكيد استعمالها لتثبيت روبي وتصريف شيفراتها وهي بنائها من الشيفرة المصدرية مباشرةً. حول روبي يوفر هذا القسم لمحة سريعة عن لغة روبي ونشأتها، وتطورها، ومزاياها التي انفردت بها عن اللغات الأخرى، والتنفيذات المختلفة التي تملكها. البنية العامة بنية اللغة تعد روبي مزيجًا من اللغات البرمجية التالية: Perl، و Smalltalk، و Eiffel، ...
التابع GC.disable في روبي
يعطِّل التابع disable جمع البيانات المهملة، ويعيد القيمة true إذا كان جمع البيانات المهملة مُعطَّلًا مسبقًا. البنية العامة disable → true or false
القيمة المعادة تعاد القيمة true إذا كان جمع البيانات المهملة مُعطَّلًا مسبقًا. خلا ذلك، تعاد القيمة false. أمثلة مثال على استعمال التابع disable: GC.disable #=> false
GC.disable #=> true
انظر أيضا التابع enable: يفعِّل جمع البيانات المهملة، ويعيد القيمة true إذا كان جمع البيانات المهملة مُعطَّلًا مسبقًا. مصادر قسم التابع disable في الصنف GC في توثيق ...
التابع GC.enable في روبي
يفعِّل التابع enable جمع البيانات المهملة، ويعيد القيمة true إذا كان جمع البيانات المهملة مُعطَّلًا مسبقًا. البنية العامة enable → true or false
القيمة المعادة تعاد القيمة true إذا كان جمع البيانات المهملة مُعطَّلًا مسبقًا. خلا ذلك، تعاد القيمة false. أمثلة مثال على استعمال التابع enable: GC.disable #=> false
GC.enable #=> true
GC.enable #=> false
انظر أيضا التابع disable: يعطِّل جمع البيانات المهملة، ويعيد القيمة true إذا كان جمع البيانات المهملة مُعطَّلًا مسبقًا. مصادر قسم التابع ...
التابع GC.latest_gc_info في روبي
يعيد التابع latest_gc_info معلومات حول أحدث عملية جمعٍ للبيانات المهملة. البنية العامة latest_gc_info → {:gc_by=>:newobj}
latest_gc_info(hash) → hash
latest_gc_info(:major_by) → :malloc
المعاملات hash كائن من النوع Hash. major_by: القيمة المعادة تعاد معلومات حول أحدث عملية جمعٍ للبيانات المهملة. انظر أيضا التابع enable: يفعِّل جمع البيانات المهملة، ويعيد القيمة true إذا كان جمع البيانات المهملة مُعطَّلًا مسبقًا. التابع malloc_allocated_size: يعيد حجم الذاكرة التي حُجزَت من قِبَل malloc(). مصادر قسم التابع latest_gc_info في الصنف GC في توثيق روبي الرسمي.
الدالة ()os.get_exec_path في بايثون
تُعيد الدالة قائمة بالمُجلَّدات التي سيتُم البحث فيها عن الملفات التنفيذيّة عند تشغيل عملية ما. البنية العامة get_exec_path(env=None)
المعاملات env قاموس متغيّرات البيئة الذي سيُبحَث فيه عن المتغيّر PATH. تُسنَد القيمة None للوسيط env، ويُستخدَم القاموس os.environ للحصول على متغيّر البيئة PATH افتراضيًا. القيمة المعادة تُعيد الدالة قائمة بالمُجلَّدات التي سيتم البحث فيها عن الملفات التنفيذيّة، كما يحدث في الصدفة (shell)، عند تشغيل عملية ما. أمثلة يعرض المقتطف أدناه مثال عن استخدام الدالة للحصول على مسارات التي سيُبحَث فيها عن ...
الدالة ()os.get_exec_path في بايثون
تُعيد الدالة قائمة بالمُجلَّدات التي سيتُم البحث فيها عن الملفات التنفيذيّة عند تشغيل عملية ما. البنية العامة get_exec_path(env=None)
المعاملات env قاموس متغيّرات البيئة الذي سيُبحَث فيه عن المتغيّر PATH. تُسنَد القيمة None للوسيط env، ويُستخدَم القاموس os.environ للحصول على متغيّر البيئة PATH افتراضيًا. القيمة المعادة تُعيد الدالة قائمة بالمُجلَّدات التي سيتم البحث فيها عن الملفات التنفيذيّة، كما يحدث في الصدفة (shell)، عند تشغيل عملية ما. أمثلة يعرض المقتطف أدناه مثال عن استخدام الدالة للحصول على مسارات التي سيُبحَث فيها عن ...
التابع File.extname في روبي
يعيد التابع extname لاحقة الملف المعطى. لاحقة الملف هي جزء من اسمه وتتوضع في مساره بعد آخر نقطة فيه. إن كان المسار هو لملف الملف يبدأ بنقطة (dotfile) أو يبدأ المسار بنقطة، فلن يعامل معها على أنها بداية لاحقة الملف. البنية العامة extname(path) → string
المعاملات path مسار الملف المراد استخراج لاحقته. القيمة المعادة تعاد سلسلة نصية تمثِّل لاحقة الملف ذي المسار path، أو تعاد سلسلة نصية فارغة إن كان النقطة آخر المسار path أو لم يكن هنالك لاحقة للملف. أمثلة ...
ملفات تهيئة الصدفة
ملفات الإعدادات على مستوى النظام System-wide Configuration files الملف etc/profile/ تقرأ Bash التعليمات الموجودة في etc/profile/ إن استدعيْت بشكل تفاعلي عبر خيار login-- أو إن استدعيْت كـ sh ، تضبط تلك التعليمات عادة المتغيرات PATH - USER - MAIL - HOSTNAME - HISTSIZE ، وهي متغيرات تابعة للصدفة. كذلك تُضبط قيمة umask في etc/profile/ على بعض الأنظمة، أما في بعضها الآخر فإن هذا الملف يحتوي على موجّهات (pointers) لملفات الإعدادات الأخرى مثل: ملف etc/inputrc/ ، وهو ملف تهيئة على مستوى ...
التوجيه (Routing) في Laravel
التوجيه الأساسي تقبل أغلب مسارات Laravel الأساسيّة مُتغّيرين: رابط URI و نطاق مغلق Closure مما يُوفّر طريقة بسيطة ومعبّرة جدّا لتعريف المسارات (routes): Route::get('foo', function () {
return 'Hello World';
});
ملفات المسار الإفتراضيّة كل مسارات Laravel مُعرّفة في ملفات مساراتك الموجودة في المجلّد routes. يُحمّل إطار العمل كل هذه الملفّات تلقائيًا. يعرّف الملف routes/web.php كل المسارات المُخصّصة لواجهة الويب. مجموعة البرمجيّات الوسيطة web معيّنة على كل المسارات وتوفّر خاصيّات مثل حالة الجلسة (session state) والحماية CSRF. المسارات ...
الواجهات (Views) في Laravel
إنشاء الواجهات ملاحظة: هل تبحث عن مزيد من المعلومات حول كيفية كتابة قوالب Blade؟ ألق نظرة على توثيق Blade الكامل للبدء. تحتوي الواجهات على HTML الذي يُقدّمه تطبيقك وتفصل منطق وحدة التحكّم/منطق التطبيق من منطق عرضك التقديمي (presentation logic). تُخزّن الواجهات في المُجلّد resources/views. قد تشبه الواجهة البسيطة المثال التالي: <! - الواجهات مُخزّنة في resources/views/greeting.blade.php ->
<html>
<body>
<h1>Hello, {{ $name }}</h1>
</body>
</html>
كما ترى، يُوافق المّتغيّر الوسيط ...
وحدة المراقب (Inspector) في Node.js
مؤشر الاستقرار: 1 - تجريبي توفر وحدة المراقب inspector واجهة تطبيقات API للتفاعل مع المراقب V8. ويمكن الوصول إليه باستخدام: const inspector = require('inspector');
inspector.open([port[, host[, wait]]]) port من النوع <number>: منفذ الاستماع لاتصالات المراقب. اختياري. القيمة الافتراضية: ما تحدد في واجهة سطر الأوامر CLI. host من النوع <string>: المضيف الذي يجب الاستماع له لإجراء اتصالات المراقب. اختياري. القيمة الافتراضية: ما تحدد في واجهة سطر الأوامر CLI. wait من النوع <boolean>: المنع حتى إتمام اتصال عميل. اختياري. القيمة الافتراضية: false. ...
الاستجابات HTTP في Laravel
إنشاء الردود السلاسل النصيّة والمصفوفات يجب على جميع الطرق ووحدات التحكّم رد استجابة لإرسالها مرّة أخرى إلى متصفّح المستخدم. يوفر Laravel عدة طرق مختلفة لإرجاع الردود. أكثر رد أساسي هو رد سلسلة نصيّة من مسار أو جهاز تحكّم. سيُحوّل إطار العمل السلسلة النصيّة إلى استجابة HTTP كاملة تلقائيًا: Route::get('/', function () {
return 'Hello World';
});
يمكنك بالإضافة لرد السلاسل من مساراتك ووحدات تحكّمك رد مصفوفات. سيُحوّل إطار العمل تلقائيًا المصفوفة لاستجابة JSON: Route::get('/', function () {
...
صدفة Bash وبرامج Bash
تعريف بصدفة Bash Bash هي صدفة نظام جنو التي تتوافق مع صدفة بورن وتزيد عليها بعدة مزايا وخصائص مفيدة من باقي الصدفات، وحين تبدأ الصدفة فإنها تقرأ ملفات إعداداتها التي من أهمها ما يلي: etc/profile/ bash_profile./~ bashrc./~ كذلك تتصرف bash بشكل مختلف حين تكون في وضع تفاعلي، وهي متوافقة مع معايير POSIX وبها وضع محظور. ويمكن تقسيم أوامرها إلى ثلاث مجموعات: دوال الصدفة والأوامر المُضمَّنة والأوامر الموجودة داخل مجلد في نظامك. أيضًا، تدعم bash أوامر مضمَّنة أخرى ليست موجودة داخل ...
ميزات صدفة Bash
صدفة bash هي الصدفة الافتراضية لنظام جنو يوفّر مشروع GNU -إذ يشير الاسم إلى GNU's Not UNIX- أدواتٍ لإدارة النظم الشبيهة بنظام يونكس، وهي نظم التشغيل الحرة والمتوافقة مع معايير يونكس. وإحدى تلك الأدوات هي bash، صَدَفة متوافقة مع صدفة sh الأولى التي كتبها ستيفن بورن، وبها خصائص مفيدة من صدفتي Korn و C -اختصاراتهما ksh و csh على الترتيب-. وقد صُممت لتتوافق مع معيار IEEE POSIX P1003.2/ISO 9 945.2 للصدفات والبرامج. كما أن بها مزايا محسّنة عن sh سواء ...
التعابير النمطية وأمثلة عن استخدام grep
التعابير النمطية Regular Expressions التعبير النمطي (Regular Expression) هو أسلوب يصف مجموعة من النصوص (strings)، وتُبنى تلك التعابير النمطية بشكل تناظري للتعابير الحسابية (arithmetic expressions) باستخدام عدة معامِلات لدمج التعابير الأصغر. وأصغر وحدة بنائية للتعابير النمطية هي تلك التي تطابق محرفًا واحدًا، ذلك أن أغلب المحارف -بما في ذلك كل الحروف والأرقام- ما هي إلا تعابير نمطية تطابق أنفسها، ويمكن اقتباس أي محرف خاص (metacharacter) له معنىً خاص بسبْقِه بشرطة مائلة خلفية \. المحارف الخاصة للتعابير النمطية يمكن إتْباع التعبير ...
نظرة عامة على Active Storage في ريلز
يغطّي هذا الدليل كيفيّة إرفاق ملفات بنماذج Active Record. ستتعلم بعد قراءة هذا الدليل: كيفية إرفاق ملف أو عدّة ملفّات بسجل (record). كيفيّة حذف ملف مُرفق. كيفيّة الربط بملف مُرفق. كيفيّة استخدام المتغيّرات (variants) لتحويل الصور. كيفيّة إنشاء تمثيل صُوَري (image representation) لملف غير صُوَري، مثل ملف PDF أو فيديو. كيفيّة إرسال تحميلات الملفّات مباشرةً من المتصفّحات إلى خدمة تخزين، دون المرور على خوادم تطبيقك. كيفيّة تنظيف الملفّات المخزّنة أثناء الاختبار. كيفيّة تعريف استخدام (implement) الدعم لخدمات تخزين إضافيّة. ما ...
الواجهات الساكنة (Facades) في Laravel
مقدمة تُوفِّر الواجهات الساكنة واجهة "ساكنة" (static) للأصناف المتوافرة في حاوي خدمات تطبيقك. يأتي Laravel مع عدة واجهات تمكنك من استخدام كل خاصيات Laravel تقريبًا. تمثل واجهات Laravel الساكنة "وسطاء ساكنات" (static proxies) للأصناف الأساسية بحاوي الخدمات مما يوفر كل فوائد الصِّيغ (syntax) المقتضبة والمُعبِّرة مع الحفاظ على قابلية الاختبار ومرونة أكبر من الدالات الساكنة التقليدية. كل واجهات Laravel الساكنة مُعرَّفةٌ في مجال الأسماء Illuminate\Support\Facades. يمكننا الوصول لواجهة ساكنة بهذه الطريقة: use Illuminate\Support\Facades\Cache;
Route::get('/cache', function () {
return ...
البرمجيّات الوسيطة (Middleware) في Laravel
مقدمة تُوفِّر البرمجيّات الوسيطة آلية ملائمة لفرز الطلبات HTTP التي تدخل تطبيقك. على سبيل المثال، يحتوي Laravel على برمجيّّة وسيطة تتحقق إن كان مستخدم تطبيقك مصادقا عليه (authenticated). في حالة لم يكن مصادقا عليه، تعيد البرمجيّة الوسيطة توجيهه لصفحة تسجيل الدخول. في حالة كان مصادقا عليه، ستسمح البرمجيّة للطلب بالمرور لسائر التطبيق. يمكن طبعا كتابة برمجيّات وسيطة للقيام بمهام متنوعة عديدة عدا تسجيل الدخول. قد تكون برمجيّة CORS وسيطة مسؤولة عن إضافة الترويسات (headers) المناسبة لكل الردود التي يرسلها تطبيقك. ...
وحدات التحكّم (Controllers) في Laravel
مقدمة بدلًا من تعريف كامل منطق معالجة طلباتك (request handling logic) على أنّها نطاقات مغلقة ((Closures في ملفّات المسارات، قد ترغب في تنظيم هذا السلوك (behavior) باستخدام أصناف ووحدات التحكّم. تستطيع وحدات التحكّم جمع منطق معالجة الطلبات ذي الصلة في صنف واحد. تخزّن وحدات التحكّم في المجلّد app/Http/Controllers. وحدات التحكّم الأساسية تعريف وحدات التحكّم تجد أدناه مثالًا عن وحدة تحكّم بسيطة. لاحظ أن وحدة التحكّم تُوسّع صنف وحدة التحكّم الأساسية المُحتواة في Laravel. يوفّر الصنف الأساسي عددًا من التوابع المفيدة ...
الواجهات البرمجية لتوقيت الأداء (Performance Timing API)
الاستقرار: 1- تجريبي. تقدم الواجهة البرمجية لتوقيت الأداء تطبيقًا لمواصفات W3C Performance Timeline. الغرض من الواجهة البرمجية (API) هو دعم مجموعة من مقاييس الأداء عالية الدقة. والتي هي نفس واجهات الأداء المُطبّقة في متصفحات الويب الحديثة. const { PerformanceObserver, performance } = require('perf_hooks');
const obs = new PerformanceObserver((items) => {
console.log(items.getEntries()[0].duration);
performance.clearMarks();
});
obs.observe({ entryTypes: ['measure'] });
performance.mark('A');
doSomeLongRunningProcess(() => {
performance.mark('B');
performance.measure('A to B', 'A', 'B');
});
الصنف: Performance أُضيف في الإصدار: 8.5.0. performance.clearMarks([name]) أُضيفت في الإصدار: 8.5.0 name <string> إذا ...
الجلسات HTTP في Laravel
مقدّمة توفر الجلسات طريقة لتخزين المعلومات حول المستخدم على عدّة طلبات نظرًا لأن التطبيقات المُعتمدة على HTTP بدون حالة. يأتي Laravel مع مجموعة متنوعة من الخلفيّات (backends) التي يمكن الوصول إليها عبر واجهة برمجية API تعبيرية موحّدة. كما يتضمّن دعم خلفيات شائعة مثل Memcached وRedis وقواعد البيانات خارج الأطر المألوفة. الضبط يُخزّن ملف إعدادات الجلسة في config/session.php. تأكد من مراجعة خياراتك المتاحة في هذا الملف. Laravel مُعد افتراضيًّا لاستخدام برنامج تشغيل (driver) الجلسة file الذي يعمل جيّدًا في العديد من ...
تتبع الأحداث (Trace Events) في Node.js
مؤشر الاستقرار: 1 - تجريبي يوفر تتبع الأحداث آلية لتركيز معلومات التتبع التي تولدت بواسطة V8، ونواه Node.js، وبرمجية مساحة المستخدم (userspace code). يمكن تفعيل التتبع بواسطة راية سطر الأوامر --trace-event-categories أو باستخدام وحدة trace_events. وتقبل راية --trace-event-categories قائمة بأسماء الفئات المفصولة بفاصلات. والفئات المتاحة هي: • node - عنصر نائب (placeholder) فارغ. • node.async_hooks - يتيح التقاط بيانات التتبع async_hooks المُفصَّلة. أحداث async_hooks لها asyncId فريد وخاصيتا triggerId و triggerAsyncId الخاصة. • node.bootstrap ...
أمثلة عن الدوال في Bash
إعادة التدوير ستجد برامج كثيرة على نظامك تستخدم الدوال كطريقة منظمة لمعالجة سلسلة ما من الأوامر، ففي بعض أنظمة لينكس مثلًا ستجد الملف التعريفي etc/rc.d/init/functions/ يشار إليه كمصدر في كل شيفرات init النصية. وبهذا الأسلوب لا تحتاج إلى كتابة المهام المتكررة سوى مرة واحدة وبشكل عام أيضًا، مهام مثل تفقد ما إن كانت تعمل إحدى المهام، تشغيل أو إيقاف أحد العفاريت (daemons)، وهلم جرا. ثم إذا دعت الحاجة إلى كتابة تلك المهام مرة أخرى فإنك لا تحتاج سوى إعادة تدوير ...
توليد عناوين URL في Laravel
مقدمة يوفّر Laravel العديد من المساعدين لمساعدتك في إنشاء عناوين URL لتطبيقك. فائدتهم الأساسية تظهر طبعا عند بناء روابط في قوالبك (templates) واستجابات الواجهة البرمجيّة، أو عند توليد ردود إعادة توجيه إلى جزء آخر من تطبيقك. الأساسيات توليد عناوين URL أساسية يمكن استخدام المساعد url لتوليد عناوين URL عشوائية لتطبيقك. سيستخدم العنوان URL المُنشأ تلقائيًا المخطَّط (HTTP أو HTTPS) ويستضيف من الطلب الحالي: $post = App\Post::find(1);
echo url("/posts/{$post->id}");
// http://example.com/posts/1
الوصول إلى العنوان URL الحالي سترد النسخة Illuminate\Routing\UrlGenerator إن لم يُوفّر أي ...
التوجيه من الخارج إلى الداخل في ريلز
يغطي هذا الدليل الميزات التي يواجهها المستخدم في عمليات التوجيه في ريلز. بعد قراءة هذا الدليل، ستعرف: كيفية تفسير الشيفرة في config/routes.rb. كيفية بناء المسارات الخاصة بك باستخدام إما أسلوب الحيلة (resourceful style) المفضل أو طريقة المطابقة (match method). كيفية الإعلان عن معاملات المسار الموجه، والتي تمرر إلى إجراءات وحدة التحكم (controller actions). كيفية إنشاء المسارات وعناوين URL تلقائيًا باستخدام مساعدي المسار الموجه. التقنيات المتقدمة مثل إنشاء قيود وتثبيت نقاط نهاية Rack. الغرض من توجيه المسارات في ريلز يتعرف جهاز ...
الوحدة Console في Node.js
الاستقرار: 2-مستقر توِّفر الوحدة console طرفيَّة بسيطة لتنقيح الأخطاء تشبه طرفيَّة JavaScript التي توفِّرها متصفحات الويب. تنتج الوحدة عنصرين محدَّدين هما: الصنف Console مع توابعه مثل التوابع console.log()، و console.error()، و console.warn() التي يمكن استعمالها للكتابة على أي مجرى من مجاري Node.js. نسخة الكائن console العامَّة المضبوطة للكتابة على المجرى process.stdout والمجرى process.stderr، ويمكن استعمالها دون استدعاء require('console'). تحذير: لا تكون توابع الكائن console العام متزامنةً دومًا مثل واجهات المتصفح البرمجيَّة التي تشبهها، ولا غير متزامنةٍ دومًا مثل مجاري Node.js ...
التحسينات في روبي
إن ميّزة الأصناف المفتوحة في لغة روبي تسمح لك بإعادة تعريف أو إضافة وظائف إلى أصناف معرّفة مسبقًا. وهذا ما يسمى بمصطلح "ترقيع القرد" (monkey patch). المشكلة هنا أنَّ تعديلات من هذا النوع تكون مرئيّة على المستوى العام (global)، وبالتالي جميع مستخدمي الصنف المرقّع قادرون على رؤية هذه التغييرات، ممّا قد يسبّب تأثيرات جانبيّة غير محسوبة أو حتى عطب في البرامج. تأتي التحسينات هنا لتقلّل أثر ترقيع القرد على مستخدمي الصنف الآخرين، إذ تقدّم طريقة لتوسيع الصنف محليًّا. وإليك مثال ...
التوابع في روبي
تتضمّن التوابع في لغة روبي الوظائف التي يقوم بها برنامجك. إليك هذا المثال لتعريف تابع بسيط: def one_plus_one
1 + 1
end
تعريف التابع يتكوّن من الكلمة المحجوزة def يتبعها اسم التابع، ثمّ جسم التابع، فالقيمة المعادة وفي النهاية الكلمة المحجوزة end. فعند تنفيذ التابع في المثال السابق، ستُعاد القيمة 2. هذا القسم سيغطّي تعريف التّوابع. ارجع إلى توثيق استدعاء التوابع لتتعرف على الصيغ المستخدمة لذلك الغرض. تسمية التوابع يمكن أن تستخدم لاسم التابع أحد المعاملات، وإلا فعليك أن تبتدئه بحرف أبجديّ أو ...
الإسناد في روبي
لكي نسند شيئًا في لغة روبي، نستخدم رمز المساواة =؛ ففي المثال التّالي، يُسنَد العدد 5 إلى المتغيّر v المحلّي: v = 5
فالإسناد يُنشئ متغيّرًا محلّيًا جديدًا إذا لم يكن قد عُرِّفَ من قبل. أسماء المتغيرات المحلية اسم المتغيّر المحلّي يجب أن يبدأ بحرف صغير من مجموعة المحارف US-ASCII أو من مجموعة المحارف التي تُمثَّل باستخدام ثمان بتات ثنائيّة. وبشكلٍ عام، فإنّ أسماء المتغيّرات المحلّية متوافقة مع US-ASCII كون الأزرار التي تستخدم لكتابتها موجودة في جميع لوحات المفاتيح. عمومًا، جميع ...
التسجيل (Logging) في Laravel
مقدمة يوفر Laravel خدمات تسجيل صلبة (robust) تسمح لك بتسجيل الرسائل في ملفّات، و سجّل أخطاء النظام، وحتى بتطبيق Slack لإعلام فريقك بأكمله وذلك لمساعدتك على معرفة المزيد حول ما يحدث داخل تطبيقك. يستخدم Laravel وراء الكواليس مكتبة Monolog التي توفر الدعم لمجموعة متنوعة من معالجات السجل القوية. يجعل Laravel إعداد هذه المُعالجات سهلة للغاية، ممّا يسمح لك بالتنسيق بينهم لتخصيص معالجة سجل تطبيقك. الضبط توجد كل إعدادات نظام تسجيل تطبيقك في ملف الإعدادات config/logging.php. يتيح لك هذا الملف إعداد ...
الوحدة V8 في Node.js
تعرض الوحدة v8 واجهات برمجة التطبيقات (API) الخاصة بإصدار V8 المضمنة في برمجية Node.js. ويمكن الوصول إليها باستخدام: const v8 = require('v8');
وقد يتعرض كلٌ من واجهات برمجة التطبيقات والتنفيذ للتغيير في أي وقت. v8.cachedDataVersionTag() أُضيف مع الإصدار: v8.0.0. • القيمة المُعادة: من النوع <integer>. يُعيد عدد صحيح يمثل "وسم الإصدار" مشتق من الإصدار V8، ورايات سطر الأوامر وميزات المعالج CPU المكتشفة. وهو يفيد في تحديد ما إذا كان المخزن المؤقت لـ cacheddata الخاص بـ vm.Script متوافق مع مثيل ...
تثبيت روبي على مختلف المنصات
توجد عدة طرق لتنزيل وتثبيت روبي على كل منصة وهي: في لينكس (والأنظمة الشبيه بيونكس)، تستطيع استعمال نظام مدير الحزم لتوزيعتك (الطريقة الأسهل) أو أية أداة من طرف ثالث (مثل rbenv و RVM). على أي حال، إصدار روبي المثبت عن طريق نظام مدير الحزم قد لا يكون هو الإصدار الأحدث، لذا انتبه لهذا الأمر. في macOS، يمكنك استعمال مدير الحزم أو أداة من طرف ثالث (مثل rbenv و RVM). في ويندوز، تستطيع استخدام RubyInstaller. يمكنك باستعمال المثبِّت هذا تثبيت إصدار ...
معلومات إضافية عن روبي
هل تساءلت يومًا لماذا روبي مشهورة إلى هذا الحد؟ يقول المعجبون بها أنَّها لغة جميلة وذات بنية متقنة. ويقولون أيضًا أنَّها لغة عملية وسهلة الاستعمال. فماذا تعطي وبماذا تتمتع؟ مثالية منشئ لغة روبي حققت لغة روبي توازنًا دقيقًا بين لغات البرمجة. عمل منشئ هذا اللغة - الياباني Yukihiro “Matz” Matsumoto - على دمج أجزاءٍ من لغات البرمجة المفضلة لديه (Perl، و Smalltalk، و Eiffel، و Ada، و Lisp) لإنشاء لغة جديدة تحقق التوازن بين البرمجة الوظيفية (functional programming) والبرمجة الأمرية ...
التابع Object.instance_variable_set في روبي
يُعيِّن التابع instance_variable_set قيمة متغيِّر نسخةٍ (instance variable) محدِّدٍ إلى قيمة معيَّنة في الكائن المُعطى؛ هذا يؤدي إلى إحباط جهود منشئ الصنف في محاولة توفير التغليف (encapsulation) المناسب. ليس من الضروري أن يتواجد المتغيِّر قبل استدعاء هذا التابع. إذا مُرِّر اسم متغيِّر النسخة بشكل سلسلةٍ نصيةٍ (string)، فستُحوَّل تلك السلسلة إلى رمز. البنية العامة instance_variable_set(symbol, obj) → obj
instance_variable_set(string, obj) → obj
المعاملات symbol الرمزُ الذي يشير إلى اسم متغيِّر النسخة المراد تعيين قيمة المعامل obj إليه في الكائن المُعطى. string ...
التابع String.sub في روبي
يعيد التابع sub نسخة من السلسلة النصية التي استدعي معها مع تبديل قيمة محدَّدة مع أول تطابق للنمط المعطى. البنية العامة sub(pattern, replacement) → new_str
sub(pattern, hash) → new_str
sub(pattern) {|match| block } → new_str
إن أعطيت كتلة block إلى التابع، فستُمرَّر السلسلة الحالية المتطابقة إليها وستعيَّن قيم متغيرات مثل $1، و $2، و $`، و $&، و $' بشكل مناسب. ستحل القيم التي تعيدها الكتلة مكان القيمة المتطابقة في كل استدعاء. المعاملات pattern يكون عادةً تعبيرًا نمطيًّا. إن كان سلسلة نصية، فستُفسَّر أية محارف ...
التابع Numeric.arg في روبي
يعيد التابع arg القيمة 0 إن كان العدد الذي استُدعي معه موجبًا، أو القيمة pi خلاف ذلك. البنية العامة arg → 0 or float
القيمة المُعادة تعاد القيمة 0 إن كانت القيمة المعطاة موجبة، أو pi خلاف ذلك. انظر أيضا التابع angle: يعيد القيمة 0 إن كان العدد الذي استُدعي معه موجبًا، أو القيمة pi خلاف ذلك. التابع ceil: يعيد أصغر عدد أكبر من أو يساوي العدد المعطى وبدقة محدَّدة. مصادر قسم التابع arg في الصنف Numeric في توثيق روبي الرسمي.
التابع Thread.keys في روبي
يُعيد التابع keys مصفوفة من أسماء المتغيرات محلية الليف (fiber-local variables) على هيئة رموز. البنية العامة keys→ array
القيمة المعادة تعاد مصفوفة من أسماء المتغيرات محلية الليف. أمثلة مثال على استخدام التابع keys: thr = Thread.new do
Thread.current[:cat] = 'meow'
Thread.current["dog"] = 'woof'
end
thr.join #=> #<Thread:0x401b3f10 dead>
thr.keys #=> [:dog, :cat]
انظر أيضًا التابع key?: يتحقق إن كانت السلسلة النصية أو الرمز المعطى موجود على هيئة متغير محلي الليف (fiber-local variable). مصادر قسم التابع keys في الصنف Thread ...
التابع Array.sort! في روبي
يرتب التابع sort! عناصر المصفوفة التي استُدعيت معه. ستجرى عملية الموازنة بين عناصر المصفوفة المراد ترتيبها باستعمال المعامل <=> أو باستعمال كتلة برمجية محددة. إن استعملت الكتلة البرمجية block في ترتيب العناصر، فيجب أن تجري موازنة بين العنصر a والعنصر b وتعيد عددًا سالبًا إن كان b أكبر من a، أو العدد 0 إن كانا متساويين، أو عددًا موجبًا إن كان b أصغر من a. مع ذلك، لن تكون النتيجة مضمونة مئة بالمئة، إذ لا يمكن التنبؤ بترتيب العناصر المتساوية ...
التابع =Process.uid في روبي
يضبط التابع uid عند استدعائه بالشكل uid= user المُعرِّف الحقيقي للمستخدم المالك للعملية الحالية إلى القيمة user. هذا التابع غير متاح على جميع المنصات. البنية العامة uid= user → numeric
القيم المعادة تعاد القيمة user بعد تعيينها إلى المُعرِّف الحقيقي للمستخدم المالك للعملية الحالية. أمثلة مثال على استعمال التابع uid: Process.setproctitle('myapp: worker #%d' % worker_id)
انظر أيضًا التابع uid: يعيد المُعرِّف الحقيقي للمستخدم المالك للعملية الحالية. التابع gid=: يضبط عند استدعائه بالشكل gid= integer مُعرِّف المجموعة المالكة للعملية الحالية إلى القيمة ...
التابع ARGF.inspect() في روبي
يعد التابع inspect() اسمًا بديلًا للتابع to_s. انظر أيضًا التابع to_s: يعيد القيمة "ARGF". مصادر قسم التابع ARGF.inspect() في الصنف ARGF في توثيق روبي الرسمي.
الصنف Data في روبي
الصنف Data هو صنف مهمل. كان يعدُّ الصنف الأساس لملحقات C التي تستعمل Data_Make_Struct أو Data_Wrap_Struct. مصادر صفحة الصنف Data في توثيق روبي الرسمي.
التابع 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))
> #=> ...
التابع Float.prev_float في روبي
يعيد التابع prev_float العدد العشري الذي يسبق العدد العشري الذي استُدعي معه. يعيد استدعاء التابع prev_float مع القيمة ((-Float::MAX والقيمة (Float::INFINITY-) القيمة الثابتة -Float::INFINITY. ويعيد استدعاء التابع بالشكل Float::NAN.prev_float القيمة Float::NAN. البنية العامة prev_float → float
القيمة المعادة يعاد العدد العشري السابق للعدد العشري المعطى. أمثلة مثال على استخدام التابع prev_float: 0.01.prev_float #=> 0.009999999999999998
1.0.prev_float #=> 0.9999999999999999
100.0.prev_float #=> 99.99999999999999
0.01 - 0.01.prev_float #=> 1.734723475976807e-18
1.0 - 1.0.prev_float ...
التابع Dir.delete في روبي
يحذف التابع delete مجلدًا محدَّدًا. سيُطلق خطأ من صنف فرعي من SystemCallError في حال لم يكن المجلد المراد حذفه موجودًا. البنية العامة delete( string ) → 0
المعاملات string اسم المجلد المُراد حذفه. انظر أيضًا التابع chdir : يغيِّر مجلد العمل (working directory) الحالي للعملية إلى مجلد محدَّد. التابع rmdir :يحذف مجلدًا محدَّدًا. مصادر قسم التابع delete في الصنف Dir في توثيق روبي الرسمي.
الصنف FrozenError في روبي
يرمى الاستثناء FrozenError عند محاولة تعديل كائن مجمد. [1, 2, 3].freeze << 4
عند تنفيذ هذه الشيفرة، يرمى الاستثناء: FrozenError: can't modify frozen Array
انظر أيضًا التابع freeze: يجمد السلسلة النصية التي استُدعيت معه، أي يجعلها غير قابلة للتعديل. مصادر صفحة الصنف FrozenError في توثيق روبي الرسمي.
التابع ARGF.printf في روبي
يطبع التابع printf الكائن أو الكائنات الممرَّرة إليه على المجرى ios (اختصارًا للعبارة Input Output Stream) بعد تنسيقها بشكل معين. للمزيد من المعلومات حول المعاملات المستعملة في عملية التنسيق (أي المستعملة مع الوسيط format_string)، ارجع إلى صفحة التابع Kernel.sprintf. البنية العامة printf(format_string [, obj, ...]) → nil
القيم المعادة تعاد القيمة nil. أمثلة مثالٌ على استخدام التابع printf: printf("%s, the sale price is $%f.\n", name, sale_price)
...
التابع Thread.thread_variable? في روبي
يتحقق التابع thread_variable? إن كانت السلسلة النصية أو الرمز المعطى موجودًا كمتغير محلي للمهمة الفرعية (thread-local variable). لاحظ أنَّ هذه المتغيرات ليست متغيرات محلية الألياف (fiber local variables). يرجى الاطلاع على صفحة المعامل [] والتابع thread_variable_get لمزيد من التفاصيل. البنية العامة thread_variable?(key)→ true or false
المعاملات key سلسلة نصية أو رمز. القيمة المعادة تعاد القيمة true إن كانت السلسلة النصية أو الرمز key المعطى موجودًا كمتغير محلي للمهمة الفرعية (thread-local variable)، وإلا فستعاد القيمة false. أمثلة مثال على استخدام التابع thread_variable?: ...
الصنف 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 {
...
الصنف TracePoint في روبي
يوفر الصنف TracePoint وظائف Kernel.set_trace_func على شكل واجهة برمجية كائنية (Object-Oriented API). مثال يمكننا استخدام المتعقبات (كائنات الصنف TracePoint) لجمع المعلومات بخصوص الاستثناءات: trace = TracePoint.new(:raise) do |tp|
p [tp.lineno, tp.event, tp.raised_exception]
end
#=> #<TracePoint:disabled>
trace.enable
#=> false
0 / 0
#=> [5, :raise, #<ZeroDivisionError: divided by 0>]
الأحداث إذا لم تحدِّد نوع الأحداث التي تريد الاستماع إليها، فسيشمل المتعقب TracePoint جميع الأحداث المتاحة. ملحوظة: لا تعتمد على مجموعة الأحداث الحالية، إذ أن هذه القائمة عرضةٌ للتغيير. بدلًا من ذلك، يُنصَح بتحديد نوع ...
التابع Numeric.truncate في روبي
يعيد التابع truncate العدد الذي استُدعي معه بعد اقتطاع المنازل العشرية منه بمقدار محدَّد. ينفذ الصنف Numeric هذا عن طريق تحويل قيمة العدد إلى النوع Float ثم يستدعي Float.truncate. البنية العامة truncate([ndigits]) → integer or float
المعاملات ndigits عدد يمثل دقة التقريب. القيمة الافتراضية هي: 0. القيمة المعادة يعاد عدد صحيح أو عشري يمثِّل العدد المعطى بعد اقتطاع المنازل العشرية منه بدقة ndigits. انظر أيضا التابع ceil: يعيد أصغر عدد من الأعداد الأكبر من أو تساوي العدد الذي استُدعي معه ...
معالجة الاستثناءات في روبي
يتمّ التعامل مع الاستثناءات بعد الكلمة rescue في الكتلة begin/end: begin
# الشيفرة التي قد تسبب ظهور استثناء برمجي
rescue
# معالجة الاستثناء
end
إذا كنت ضمن تابع، فلست بحاجة لاستخدام begin و end إلا إذا كنت ترغب بحدّ النّطاق الخاص بالاستثناء الذي ترغب بمعالجته: def my_method
# ...
rescue
# ...
end
نفس الأمر يطبّق في الأصناف (classes) والوحدات (modules). يمكنك إسناد استثناء إلى متغيّر محليّ باستخدام الرمز => متبوعًا باسم المتغيّر، وذلك في نهاية السطر الخاص بالكلمة rescue: begin
# ...
rescue => exception
warn exception.message
raise # كرر ظهور ...
التابع ARGF.chars() في روبي
التابع ()chars هو اسم بديل مهمل (deprecated) للتابع each_char. انظر أيضًا التابع each_char: يعيد قيمة قابلة للعد (enumerator) تتكرر (Iterate) على كل قيمة من النوع char في الملفات الموجودة في ARGV. مصادر قسم التابع chars() في الصنف ARGF في توثيق روبي الرسمي.
التابع SizedQueue.new في روبي
ينشئ التابع new طابورًا ذا طول ثابت، مع حد أقصى لحجمه. البنية العامة new(max)
المعاملات max عدد يمثل الحد الأقصى لحجم الطابور المراد إنشاؤه. القيمة المعادة يعاد طابورٌ ذو طول ثابت يساوي إلى max. انظر أيضا المعامل <<: يضيف كائنات إلى الطابور المعطى. التابع close: يغلق الطابور الذي استدعي معه. مصادر قسم التابع new في الصنف SizedQueue في توثيق روبي الرسمي.
التابع FileTest.writable_real? في روبي
يعيد التابع writable_real? إن كان ملفٌ ما قابلًا للكتابة من طرف مُعرِّف المستخدم والمجموعة الحقيقي للعملية الحالية. اطلع على توثيق الدالة access(3). البنية العامة writable_real?(file_name) → true or false
المعاملات file_name اسم الملف المراد التحقق منه. القيمة المعادة تعاد القيمة true إن كان ملفٌ ما قابلًا للقراءة من طرف مُعرِّف المستخدم والمجموعة الحقيقي للعملية الحالية. خلا ذلك، تعاد القيمة false. انظر أيضًا التابع owned?: يتحقق إن كان ملفٌ ما موجودًا وكان مالك هذا الملف هو نفسه المعرِّف الفعلي للمستخدم المالك للعملية التي استدعته. التابع readable_real?: يتحقق إن كان ...
التابع Range.member? في روبي
يتحقق التابع member? إن كان كائنٌ ما عنصرًا من المجال الذي استُدعي معه. إن كان عنصرا البداية والنهاية عددين، فستتم المقارنة وفقًا لمقدار (magnitude) القيم. البنية العامة member?(obj) → true or false
المعاملات obj الكائن المراد التحقق من كونه واقعًا في المجال المعطى. القيمة المعادة تعاد القيمة true إن كان obj عنصرًا من المجال الذي استُدعي معه، أو تعاد القيمة false خلاف ذلك. أمثلة مثال على استخدام التابع member?: ("a".."z").include?("g") #=> true
("a".."z").include?("A") #=> false
("a".."z").include?("cc") ...
التابع Object.public_methods في روبي
يُعيد التابع public_methods قائمةً بالتوابع العامَّة (public methods) التي يمتلك الكائن الذي استدعي معه الوصول إليها. إذا مُرِّرت القيمة false إلى التابع، فستحتوي القائمة توابع الكائن المستقبل (receiver) فقط. البنية العامة public_methods(all=true) → array
المعاملات all معامل اختياري يحدِّد التوابع المعادة. يأخذ هذا المعامل القيمة true (افتراضيًا)، أو القيمة false. القيم المعادة تُعاد قائمةٌ بالتوابع العامة التي يمتلك الكائن المعطى الوصول إليها إذا لم يعطَ الكائن all، أو ستُعاد قائمة تحتوي توابع الكائن المستقبل (receiver) فقط إذا أعطي المعامل all ...
التابع Integer.floor في روبي
يعيد التابع floor أكبر عدد من الأعداد الأصغر من أو تساوي العدد الذي استُدعي معه وبدقة (precision) تساوي العدد المعطى (القيمة الابتدائية هي 0). البنية العامة floor([ndigits]) → integer or float
المعاملات ndigits عدد يحدد الدقة. إذا كانت الدقة سالبة، فإنّ القيمة المعادة ستكون عددًا صحيحًا مع ndigits.abs صفر إضافي على الأقل. القيمة المعادة يعيد التابع floor أكبر عدد من الأعداد الأصغر من أو يساوي قيمة العدد الذي استُدعي معه وبدقة تساوي ndigits رقم عشري. إذا كانت الدقة سالبة، ...
التابع Marshal.dump في روبي
يُسلسل (Serializes) التابع dump الكائن المعطى وجميع الكائنات المنحدرة منه (descendant objects). في حال تمرير كائن من النوع IO، فستُكتب البيانات المُسَلسلة فيه، وإلا فستُعاد البيانات كسلسلة نصية. البنية العامة dump( obj [, anIO] , limit=-1 ) → anIO
في حال تمرير المعامل limit، فسيقتصر التابع dump على سَلسَلة الكائنات الفرعية حتى العمق المحدد. إذا كان limit سالبًا، لن يكون هناك أي تحقق من للعمق. لا يمكن للتابع Marshal تفريغ (dump) الكائنات التالية: الوحدات أو الأصناف المجهولة (anonymous Class/Module). الكائنات المرتبطة بالنظام (مثل ...
التابع File.identical? في روبي
يتحقق التابع identical? إن كان الملفان المعطيان متماثلين تمامًا. البنية العامة identical?(file_1, file_2) → true or false
المعاملات file_1 الملف الأول المراد التحقق من مطابقته للملف file_2. file_2 الملف الثاني المراد التحقق من مطابقته للملف file_1. القيمة المعادة تعاد القيمة true إن كان الملف file_1 مطابقًا ومماثلًا للملف file_1. خلا ذلك، تعاد القيمة false. أمثلة مثال على استعمال التابع identical?: open("a", "w") {}
p File.identical?("a", "a") #=> true
p File.identical?("a", "./a") #=> true
File.link("a", "b")
p File.identical?("a", ...
التابع Rational.rationalize في روبي
يُعيد التابع rationalize تقريبًا مبسطًا لقيمة العدد الجذري الذي استُدعي معه في حال إعطاء الوسيط الاختياري eps، أو يعيد العدد الجذري نفسه إن لم يمُرَّر إليه أي شيء. البنية العامة rationalize → self
rationalize(eps) → rational
المعاملات eps مقدار التقريب. القيمة المعادة يعاد تقريبٌ مبسطٌ لقيمة العدد الجذري المعطى في حال إعطاء الوسيط الاختياري eps (النتيجة المعادة ينبغي أن تحقق المتراجحة rat-|eps| <= result <= rat+|eps|)، أو يعاد العدد الجذري نفسه إن لم يمُرَّر المعامل eps. أمثلة مثال على ...
التابع Thread.start في روبي
يشبه التابع start التابع new بشكل أساسي إلا أنه عند اشتقاق صنف فرعي (subclassed) من Thread، فإنَّ استدعاء start في ذلك الصنف الفرعي لن يستدعي تابع الصنف الفرعي initialize. البنية العامة start([args]*) {|args| block }→ thread
المعاملات args وسائط تُمرر إلى الكتلة. القيمة المعادة يعاد كائن من النوع Thread. انظر أيضًا التابع stop: يوقف تنفيذ المهمة الفرعية الحالية. مصادر قسم التابع start في الصنف Thread في توثيق روبي الرسمي.
التابع IO.lines في روبي
يعدُّ التابع lines اسمًا بديلًا مهملًا للتابع each_line. البنية العامة lines(*args)
انظر أيضًا التابع each_line: ينفذ الكتلة المعطاة على كل سطر في المجرى الذي استدعي معه. مصادر قسم التابع lines في الصنف IO في توثيق روبي الرسمي.
التابع Array.rotate! في روبي
يُدوّر التابع rotate! عناصر المصفوفة التي استُدعيت معه ليكون العنصر ذو الفهرس الممرَّر إليها هو العنصر الأول. إن كان العدد الممرَّر إليها سالبًا، فسيُدوّر التابع rotate! المصفوفة في الاتجاه المعاكس، إذ يُحسَب موضع العنصر بدءًا من نهاية المصفوفة فسيكون فهرس العنصر الأخير هو -1. البنية العامة rotate!(count=1) → ary
المعاملات count عددٌ صحيحٌ يمثل فهرس العنصر الذي يراد أن يصبح أول عنصرٍ في المصفوفة المعطاة. القيم المعادة تعاد المصفوفة نفسها المعطاة بعد إزاحة (تدوير) عناصرها ليكون العنصر ذو الفهرس count ...
التابع Enumerable.to_h في روبي
يحول التابع to_h الكائن القابل للتعداد المعطى إلى كائن من النوع Hash. البنية العامة to_h(*args) → hash
المعاملات args الوسائط المراد استعمالها في عملية التحويل. القيمة المعادة يعاد كائن جديد من النوع Hash يحوي قائمة من الأزواج مفتاح/قيمة الناتجة عن تحويل الكائن القابل للتعداد المعطى. أمثلة مثال على استعمال التابع to_h: %i[hello world].each_with_index.to_h
# => {:hello => 0, :world => 1}
انظر أيضًا التابع to_a: يحول الكائن القابل للتعداد إلى مصفوفة. مصادر قسم التابع to_h في الصنف Enumerable في توثيق روبي ...
التابع String.downcase في روبي
يعيد التابع downcase نسخةً من السلسلة النصية التي استدعي معها مع استبدال الحروف الكبيرة بنظائرها الصغيرة. استبدال الحروف بحروف أخرى يعتمد على المعامل المُمرَّر إلى التابع، وعلى ترميز السلسلة النصية المعطاة. البنية العامة downcase → new_str
downcase([options]) → new_str
المعاملات options يُستخدم للتحكم بعملية التبديل ويأخذ إحدى القيم التالية: الخيار الوصف بدون خيار يمثِّل ربط (mapping) محارف اليونيكود (Unicode) الكاملة ذات الحالة الكبيرة والصغيرة مع بعضها لتبديلها، وهذا مناسب لأغلب اللغات (اطلع على الخيار turkic: والخيار lithuanian: في الأسفل، إذ تعد ...
التابع ARGF.getc في روبي
يجلب التابع getc المحرف التالي من المجرى ARGF. يعامل المجرى ARGF الملفات المُمرَّرة في سطر الأوامر كما لو كانت ملفًا واحدًا يتألَّف من جميع تلك الملفات؛ أي يتعاقب بعضها خلف بعض. بناءً على ذلك، يؤدي استدعاء التابع getc مرة أخرى بعد جلب المحرف الأخير من الملف الأول مثلًا إلى جلب المحرف الأول من الملف الثاني، وهلم جرًّا. البنية العامة getc → String or nil
القيم المعادة تعاد سلسلة نصية تحوي المحرف التالي الذي يُقرَأ من المجرى ARGF، أو تعاد القيمة ...
التابع IO.autoclose? في روبي
يتحقق التابع autoclose? إن كان واصف الملف الأساسي لمجرى معين سيُغلق تلقائيًا عند الانتهاء منه. البنية العامة autoclose?→ true or false
القيمة المعادة تعاد القيمة true إن كان واصف الملف الأساسي للمجرى المعطى سيُغلق تلقائيًا عند الانتهاء منه، وإلا ستعاد القيمة false. انظر أيضًا التابع autoclose: يُعيّن عند استدعائه بالشكل autoclose = bool قيمة راية الإغلاق التلقائي (auto-close flag) إلى القيمة bool المنطقية. التابع close: يغلق مجرى د/خ، ويرسل (flushes) أي كتابات مُعلّقة إلى نظام التشغيل. التابع closed?: يتحقق إن كان مجرى د/خ ...
الصنف 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في توثيق روبي الرسمي.
التابع Numeric.eql? في روبي
يتحقق التابع eql? إن كان العدد الذي استُدعي معه والعدد المُمرَّر إليه من نفس النوع ومتساويين. يعمل هذا التابع بشكل مخالف للمعامل == الذي يحول نوع العددين قبل إجراء الموزانة بينهما. البنية العامة eql?(numeric) → true or false
المعاملات numeric عدد يراد التحقق من تساويه نوعًا وقيمةً مع العدد المعطى. القيمة المعادة تُعاد القيمة true إن كان العدد المعطى والعدد numeric من نفس النوع ومتساويين. خلا ذلك، تعاد القيمة false. أمثلة مثال على استخدام التابع eql?: 1 == 1.0 ...
التابع Complex.to_i في روبي
يحول التابع to_i العدد العقدي الذي استدعي معه إلى عدد صحيح إن كان ذلك ممكنًا (ينبغي أن يساوي الجزء التخيلي القيمة 0 تمامًا، وإلا فسيُطلَق الخطأ RangeError). البنية العامة to_i → integer
القيمة المعادة يعاد عدد صحيح يمثِّل ناتج تحويل العدد العقدي المعطى إن كان ذلك ممكنًا، أو سيُرمَى الخطأ RangeError إن لم يكن ذلك ممكنًا. أمثلة أمثلة عن استخدام التابع to_i: Complex(1, 0).to_i #=> 1
Complex(1, 0.0).to_i # RangeError
Complex(1, 2).to_i # RangeError
انظر ...
التابع Marshal.load في روبي
يعيد التابع load نتيجة تحويل البيانات المُسلسلة (serialized) في المصدر إلى كائن روبي (ربما مع كائنات ثانوية [subordinate objects] مرتبطة به). قد يكون المصدر إمَّا كائنًا من الصنف IO، أو كائنًا يستجيب إلى التابع to_str. في حال تمرير المعامل الثاني، فسيتم تمرير كل كائن من الكائنات إليه أثناء فك تسلسلها (deserialisation). تنبيه: لا تمرّر أبدًا إلى التابع load بيانات غير موثوقة (بما في ذلك المدخلات التي يرسلها المستخدم). البنية العامة load( source [, proc] ) → obj
المعاملات source إمَّا كائنٌ من ...
التابع String.valid_encoding? في روبي
يتحقق التابع ?valid_encoding إذا كانت سلسلة نصية مُرمّزة بشكل صحيح. البنية العامة valid_encoding? → true or false
القيمة المعادة تُعاد القيمة true إذا كانت السلسلة النصية المعطاة مُرمّزة بشكل صحيح، أو تُعاد القيمة false خلاف ذلك. أمثلة مثال على استعمال التابع valid_encoding?: "\xc2\xa1".force_encoding("UTF-8").valid_encoding? #=> true
"\xc2".force_encoding("UTF-8").valid_encoding? #=> false
"\x80".force_encoding("UTF-8").valid_encoding? #=> false
انظر أيضًا التابع ascii_only?: يتحقق إذا كانت السلسلة النصية مؤلفة من محارف مرمزة بالترميز ASCII فقط. التابع empty?: يتحقق إذا ...
الصنف Regexp في روبي
تمثل كائنات الصنف Regexp التعابير النمطية التي تُستخدم لمطابقة نمط (pattern) معيّن في سلسلة نصية. تُنشَأ التعابير النمطية باستخدام الصياغتين /.../ و %r{...}، أو باستعمال الباني new. التعابير النمطية هي أنماط تصف محتويات السلسلة النصية. يمكن استخدامها للتحقق من أنّ سلسلة نصية تحتوي على نمط معين، أو لاستخراج الأجزاء المُطابقة منها. عادةً ما يتم تحديد التعبير النمطي بخط مائل (/) كما يوضح المثال التالي: /hay/ =~ 'haystack' #=> 0
/y/.match('haystack') #=> #<MatchData "y">
إذا احتوت سلسلة نصية على النمط، فسيقال ...
التابع Enumerable.inject في روبي
يجمع التابع inject جميع عناصر الكائن القابل للتعداد الذي استدعي معه عبر تطبيق عملية ثنائية تُحدَّد بوساطة كتلة أو رمز يسمي تابعًا أو معاملًا. التابعان inject و reduce هما وجهين لعملة واحدة؛ أي كل منها اسم بديل للآخر. البنية العامة inject(initial, sym) → obj
inject(sym) → obj
inject(initial) { |memo, obj| block } → obj
inject { |memo, obj| block } → obj
إن حُدَّدَت كتلة مع هذا التابع، فسيُمرَّر لكل عنصر من عناصر الكائن القابل للتعداد المعطى قيمة تراكمية (memo) والعنصر نفسه. إن حُدَّدَ رمز ...
التابع Thread.priority في روبي
يُعيد التابع priority أولوية المهمة الفرعية التي استدعيت معه. تورث القيمة الافتراضية من المهمة الفرعية الحالية المسؤولة عن إنشاء المهمة الفرعية الجديدة، أو تكون القيمة صفر للمهمة الفرعية الرئيسية الابتدائية (initial main thread)؛ سيتم تشغيل المهام الفرعية ذات الأولوية العالية بشكل أكثر تكرارًا من مثيلاتها ذات الأولوية المنخفضة (ولكنها ستُشغّل على أي حال). هذا مجرد تلميح يستعمله مُجدوِل المهام الفرعية (thread scheduler) في روبي. مع ذلك، قد يتم تجاهله في بعض أنظمة التشغيل. البنية العامة priority→ integer
القيمة المعادة يعاد عدد ...
عرض (500 السابقة | 500 التالية) (20 | 50 | 100 | 250 | 500).