English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

البقع في Ruby

أنت تعلم كيفية تعريف الدوال وكيفية استدعائها في Ruby. بنفس الطريقة، يحتوي Ruby على مفهوم الكائنات.

  • الكائنات تتكون من الكثير من النصوص.
  • يجب أن تأخذ على كائنك اسمًا.
  • النصوص في الكائنات دائمًا ما تكون داخل البارéntسية {}.
  • الكائن دائمًا يبدأ من دعوة الدالة التي تحمل نفس الاسم. هذا يعني إذا كان اسم كائنك ، إذا كان يجب أن تستخدم الدالة,那么您要使用函数 ، إذا كان يجب أن تستخدم الدالة test
  • للإشارة إلى هذا القطعة. yield جملة لاستدعاء القطعة. يمكنك أيضًا

النص

block_name{
   statement1
   statement2
   ..........
}

في هذا السياق، ستعلم كيفية استخدام yield جملة لاستدعاء القطعة. ستعلم أيضًا كيفية استخدام yield جملة لاستدعاء القطعة. في المثال، سترى هذا النوع من yield جملة.

yield جملة

دعنا نرى مثالًا على جملة yield:

مثال على الخط

#!/usr/bin/ruby
# -*- coding: UTF-8 -*-
def test
   puts "في طريقة test "
   yield
   puts "لقد عدت إلى طريقة test "
   yield
انتهاء
test {puts "في القطعة "}

نتيجة مثال التنفيذ أعلاه:

في طريقة test
في القطعة
لقد عدت إلى طريقة test
في القطعة

يمكنك أيضًا تقديم جملة yield مع متغيرات. إليك مثال:

مثال على الخط

#!/usr/bin/ruby
# -*- coding: UTF-8 -*-
def test
   yield 5
   puts "في طريقة test "
   yield 100
انتهاء
test {|i| puts "في القطعة #{i} "}

نتيجة مثال التنفيذ أعلاه:

في القطعة 5
في طريقة test
في القطعة 100

في هذا السياق،yield الجملة تتبعها المتغيرات. يمكنك حتى تقديم متغيرات متعددة. في القطعة، يمكنك وضع متغير بين علامتي || لقبول المتغيرات. لذلك، في الكود السابق، جملة yield 5 تقوم بتقديم قيمة 5 كمعامل إلى القطعة test.

الآن، لنظر في الجملة التالية:

test {|i| puts "في القطعة #{i} "}

في هذا السياق، قيمة 5 ستتم استقبالها في المتغير i. الآن، لنظر في جملة puts التالية:

puts "في القطعة #{i} "

يظهر هذا الكود من puts هو:

في القطعة 5

إذا كنت ترغب في تقديم متغيرات متعددة، yield الجملة تبدو كالتالي:

yield a, b

في هذه الحالة، القطعة تبدو كالتالي:

test {|a, b| statement}

المتغيرات تستخدم بفواصل.

قطعة ومتغير

لقد رأيت كيف تربط القطعة بالطريقة. عادةً، تستخدم جملة yield لاستدعاء القطعة من طريقة لها نفس الاسم. لذلك، يبدو الكود كالتالي:

مثال على الخط

#!/usr/bin/ruby
def test
  yield
انتهاء
test{ puts "Hello world"}

هذه هي الطريقة الأبسط لتحقيق قطعة. تستخدم yield استدعاء جملة test قطعة.

إذا كان آخر متغير في الطريقة يحتوي على &، فإنك يمكنك تقديم قطعة إلى هذه الطريقة، ويمكنك تخصيص هذه القطعة كآخر متغير. إذا كانت * و & موجودة في قائمة المتغيرات، يجب وضع & في النهاية.

مثال على الخط

#!/usr/bin/ruby
def test(&block)
   block.call
انتهاء
test { puts "Hello World!"}

نتيجة مثال التنفيذ أعلاه:

مرحبًا العالم!

أقسام BEGIN وEND

يمكن للملف المصدر الخاص بـ Ruby أن يحتوي على كود يجب تنفيذه عند تحميل الملف (قسم BEGIN) وكود يجب تنفيذه عند اكتمال تنفيذ البرنامج (قسم END).

مثال على الخط

#!/usr/bin/ruby
BEGIN { 
  # بداية الكود
  puts "بداية الكود"
} 
END { 
  # نهاية الكود
  puts "نهاية الكود"
}
  # كود رئيسي
puts "كود رئيسي"

يمكن للبرنامج أن يحتوي على عدة أقسام BEGIN وEND. يتم تنفيذ أقسام BEGIN بناءً على ترتيبها. يتم تنفيذ أقسام END بناءً على ترتيبها العكسي. عند التنفيذ، يظهر البرنامج النتيجة التالية:

بداية الكود
كود رئيسي
نهاية الكود