Latest web development tutorials

طريقة روبي

طريقة روبي يشبه إلى وظائف أخرى لغة البرمجة. طريقة روبي لتجميع واحد أو أكثر من البيانات المكررة في وحدة واحدة.

يجب أن يبدأ اسم الأسلوب مع حرف صغير. إذا كنت بأحرف كبيرة كما في بداية اسم الأسلوب، روبي المحتمل أن استخدامه بمثابة ثابت، مما أدى بشكل غير صحيح تحليل الاتصال.

قبل استدعاء الأسلوب يجب أن ينص على خلاف ذلك، سوف روبي إنتاج غير محدد استثناء استدعاء الأسلوب.

قواعد

def method_name [( [arg [= default]]...[, * arg [, &expr ]])]
   expr..
end

لذلك، يمكنك تحديد طريقة بسيطة، على النحو التالي:

def method_name 
   expr..
end

يمكنك تحديد طريقة لقبول المعلمات، على النحو التالي:

def method_name (var1, var2)
   expr..
end

يمكنك تعيين القيمة الافتراضية للمعلمة، غير مطلوب معلمة لتمرير القيمة الافتراضية إذا كان استدعاء الأسلوب:

def method_name (var1=value1, var2=value2)
   expr..
end

عندما تريد استدعاء أسلوب، ومجرد استخدام اسم الأسلوب، كما هو مبين أدناه:

method_name

ومع ذلك، عند استدعاء أسلوب مع المعلمات، والمعلمات التي لديك لاتخاذ عند كتابة اسم الأسلوب، على سبيل المثال:

method_name 25, 30

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

أمثلة

#!/usr/bin/ruby
# -*- coding: UTF-8 -*-

def test(a1="Ruby", a2="Perl")
   puts "编程语言为 #{a1}"
   puts "编程语言为 #{a2}"
end
test "C", "C++"
test

تشغيل إخراج المثال أعلاه هو:

编程语言为 C
编程语言为 C++
编程语言为 Ruby
编程语言为 Perl

قيمة الإرجاع من أسلوب

روبي كل الأسلوب بإرجاع قيمة افتراضية. هذه القيمة هي القيمة التي يتم إرجاعها بواسطة العبارة الأخيرة. على سبيل المثال:

def test
   i = 100
   j = 10
   k = 0
end

وعند استدعاء هذا الأسلوب إرجاع البيان الختامي للك متغير.

بيان عودةروبي

يستخدم الياقوت في بيانعودةلإرجاع القيم واحد أو أكثر من طريقة روبي.

قواعد

return [expr[`,' expr...]]

إذا أعطيت أكثر من تعبيرين مجموعة تحتوي على هذه القيم سيكون قيمة الإرجاع. إذا لم يتم إعطاء التعبير، سوف لا شيء يكون قيمة الإرجاع.

أمثلة

return

或

return 12

或

return 1,2,3

النظر في الأمثلة التالية:

#!/usr/bin/ruby
# -*- coding: UTF-8 -*-

def test
   i = 100
   j = 200
   k = 300
return i, j, k
end
var = test
puts var

تشغيل إخراج المثال أعلاه هو:

100
200
300

عدد متغير من الوسائط

دعونا نقول قمت بتعريف أسلوب يأخذ حجتين، عند استدعاء هذا الأسلوب، وتحتاج أيضا لتمرير معلمتين.

ومع ذلك، روبي يسمح لك أن يعلن عدد متغير من المعلمات. دعونا ننظر في الأمثلة التالية:

#!/usr/bin/ruby
# -*- coding: UTF-8 -*-

def sample (*test)
   puts "参数个数为 #{test.length}"
   for i in 0...test.length
      puts "参数值为 #{test[i]}"
   end
end
sample "Zara", "6", "F"
sample "Mac", "36", "M", "MCA"

في هذا الرمز، كنت قد أعلنت طريقة العينة، يقبل اختبار المعلمة. ومع ذلك، هذه المعلمة هي معلمة متغير. وهذا يعني أن المعلمات قد قدمت مع عدد مختلف من المتغيرات. تشغيل إخراج المثال أعلاه هو:

参数个数为 3
参数值为 Zara
参数值为 6
参数值为 F
参数个数为 4
参数值为 Mac
参数值为 36
参数值为 M
参数值为 MCA

أساليب الفئة

عندما الخارجية، طريقة طريقة محددة في التقصير الدرجة علامةالخاص و.من ناحية أخرى، إذا كانت طريقة محددة في الصف، يتم وضع علامة الافتراضي كما الجمهور.

الأسلوب الافتراضي من وضوح الرؤية وعلامةخاصةيمكن تغيير عن طريق وحدة (وحدة) فيالقطاع العامأوالخاص.

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

تقدم روبي وسيلة للوصول دون أساليب مثيل. دعونا نرى كيف أن يعلن والوصول إلى أسلوب فئة:

class Accounts
   def reading_charge
   end
   def Accounts.return_date
   end
end

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

Accounts.return_date

للوصول إلى هذه الطريقة، لا تحتاج إلى إنشاء حسابات فئة الكائن.

بيان الاسم المستعارروبي

ويستخدم هذا البيان بوصفه وسيلة أو المتغيرات العالمية من الأسماء المستعارة. لا يمكن تعريف الأسماء المستعارة داخل الجسم الأسلوب. حتى إذا تم تجاوز الأسلوب، ويحافظ على طريقة الملقب أيضا التعريف الحالي للطريقة.

ويحظر عدد من المتغيرات العالمية (1 $، $ 2، ...) من الاسم المستعار. إعادة كتابة المدمج في المتغيرات العالمية يمكن أن يسبب مشاكل خطيرة.

قواعد

alias 方法名 方法名
alias 全局变量 全局变量

أمثلة

alias foo bar
alias $MATCH $&

هنا، حددنا اسم مستعار لفو بمنع، لتحديد اسم مستعار ل$ & $ المباراة.

بيانروبينديف

يستخدم هذا البيان إلى إلغاء تعريف الأسلوب.ونديفلا يمكن أن تظهر داخل الجسم الأسلوب.

باستخدامنديفوالاسم المستعار، واجهة الطبقة يمكن تعديلها بشكل مستقل من الفئة الأصل، ولكن يرجى ملاحظة أنه عند استدعاء أسلوب الداخلية الخاصة به، فإنه قد يقوض البرنامج.

قواعد

undef 方法名

أمثلة

يتم إلغاء الأمثلة التالية يدعى تعريف الأسلوبشريط:

undef bar