المتغيرات روبي
المتغير هو عقد أي بيانات يمكن استخدامها من قبل أي برنامج المخزنة.
روبي تدعم خمسة أنواع من المتغيرات.
- أقل عموما الحروف، بدءا تسطير: المتغير (متغير).
-
$
في البداية: متغير عمومي (متغير عمومي). -
@
بداية: المتغيرات سبيل المثال (مثيل متغير). -
@@
يتم تقاسم متغير فئة (متغير الدرجة) متغيرات الفئة عبر سلسلة الميراث - تبدأ بحرف كبير: ثابت (ثابت).
لديك في الفصول السابقة عن فهم هذه المتغيرات، وهذا الفصل يقدم لك شرحا مفصلا لهذه الأنواع الخمسة من المتغيرات.
المتغير العالمي روبي
المتغيرات العالمية تبدأ $. متغير عمومي غير مهيأ هولا شيء،في الخيار -w، يتم إنشاء تحذير.
إلى تعيين متغير العالمي سوف تتغير الحالة العالمية، لذلك نحن لا نوصي باستخدام المتغيرات العالمية.
يوضح المثال التالي استخدام المتغيرات العالمية.
#!/usr/bin/ruby # -*- coding: UTF-8 -*- $global_variable = 10 class Class1 def print_global puts "全局变量在 Class1 中输出为 #$global_variable" end end class Class2 def print_global puts "全局变量在 Class2 中输出为 #$global_variable" end end class1obj = Class1.new class1obj.print_global class2obj = Class2.new class2obj.print_global
هنا، $ global_variable هو المتغير العالمي. وهذا ينتج النتائج التالية:
ملاحظة: في روبي، يمكنك وضع # شخصية أمام متغير أو ثابت، للوصول إلى أي متغير أو قيمة ثابتة.
全局变量在 Class1 中输出为 10 全局变量在 Class2 中输出为 10
المتغيرات المثال روبي
@ متغير مثيل لتبدأ. غير مهيأ متغير المثال هولا شيء،في الخيار -w، يتم إنشاء تحذير.
يوضح المثال التالي استخدام المتغيرات سبيل المثال.
#! / البيرة / بن / روبي فئة العملاء تهيئة صفر (الهوية، واسم، ADDR) @ Cust_id = معرف @ CUST_NAME = اسم @ Cust_addr = ADDR نهاية display_details صفر () يضع "معرف العميل # @ cust_id" يضع "اسم العميل # @ CUST_NAME" يضع "عنوان العميل # @ cust_addr" نهاية نهاية # إنشاء cust1 كائن = Customer.new ( "1"، "جون"، "الحكمة الشقق، Ludhiya") cust2 = Customer.new ( "2"، "بول"، "الطريق الإمبراطورية الجديدة، Khandala") # cust1.display_details طريقة الاتصال () cust2.display_details ()
هنا، @ cust_id، @ CUST_NAME وcust_addr هو متغير مثيل. وهذا ينتج النتائج التالية:
Customer id 1 Customer name John Customer address Wisdom Apartments, Ludhiya Customer id 2 Customer name Poul Customer address New Empire road, Khandala
المتغيرات الطبقة روبي
في بدايةالمتغيرات الطبقية ويجب تهيئة قبل أن تتمكن من استخدامها لاحقا في تعريف الأسلوب.
مرجع فئة متغير غير مهيأ سيولد خطأ. المتغيرات الدرجة المحددة في فئة أو فئة فرعية من وحدات أو وحدات فرعية يمكن أن تكون مشتركة.
بعد استخدام الخيار -w، والحمولة الزائدة المتغيرات الطبقة سوف تنتج تحذير.
يوضح المثال التالي استخدام متغيرات الفئة.
#!/usr/bin/ruby class Customer @@no_of_customers=0 def initialize(id, name, addr) @cust_id=id @cust_name=name @cust_addr=addr end def display_details() puts "Customer id #@cust_id" puts "Customer name #@cust_name" puts "Customer address #@cust_addr" end def total_no_of_customers() @@no_of_customers += 1 puts "Total number of customers: #@@no_of_customers" end end # 创建对象 cust1=Customer.new("1", "John", "Wisdom Apartments, Ludhiya") cust2=Customer.new("2", "Poul", "New Empire road, Khandala") # 调用方法 cust1.total_no_of_customers() cust2.total_no_of_customers()
هنا،no_of_customers هو متغير فئة. وهذا ينتج النتائج التالية:
العدد الإجمالي للعملاء: 1 العدد الإجمالي للعملاء: 2
المتغيرات المحلية روبي
تبدأ المتغيرات المحلية مع حرف صغير أو تسطير _. نطاق المتغيرات المحلية من الدرجة، وحدة، مواطنه أو القيام نهاية المقابلة من هدفين إلى الأقواس المعقوفة إلى اليسار أو اليمين {}.
عند استدعاء متغير محلي غير مهيأ، يتم تفسيرها كما استدعاء الأسلوب مع أي معلمة.
ويمكن أيضا غير مهيأ تعيين متغير محلي أن تستخدم بمثابة إعلان متغير. وستكون هناك متغير حتى نهاية المجال الحالي حتى الآن. المتغيرات المحلية دورة حياة قررت في محلل روبي.
في المثال أعلاه، المتغير المحلي هو الهوية، واسم و عنوان.
الثوابت روبي
ثابت مع حرف كبير. تعريف الثوابت داخل الطبقة أو وحدة نمطية يمكن الوصول إليها من داخل الطبقة أو وحدة نمطية، الذي يعرف خارج يمكن الوصول فئة أو وحدة الثوابت عالميا.
لا يمكن تعريف الثوابت داخل الأسلوب. الرجوع حدوث خطأ ثابت غير مهيأ. بالفعل قيم ثابتة تهيئة سوف تولد تحذير.
#! / البيرة / بن / روبي # - * - الترميز: UTF-8 - * - الفئة مثال VAR1 = 100 VAR2 = 200 عرض صفر يضع "ثابت الأول هو # {VAR1}" يضع "ثابت الثاني هو # {VAR2}" نهاية نهاية # إنشاء كائن كائن = Example.new () object.show
هنا، VAR1 وVAR2 ثوابت. وهذا ينتج النتائج التالية:
أول قيمة ثابتة من 100 ثابت الثاني هو 200
روبي شبه متغير
هم المتغيرات الخاصة، مع ظهور المتغيرات المحلية، ولكن يتصرف وكأنه ثابت. لا يمكنك تعيين أي قيمة لهذه المتغيرات.
- النفس: التحف الاستقبال من الطريقة الحالية.
- صحيح: ممثل عن القيمة الحقيقية.
- كاذبة: تمثل القيمة كاذبة.
- لا شيء: قيمة غير محددة التمثيلية.
- __FILE__: الاسم الحالي من الملف المصدر.
- __LINE__: الحالي رقم السطر ملف المصدر.