Latest web development tutorials

المتغيرات روبي

المتغير هو عقد أي بيانات يمكن استخدامها من قبل أي برنامج المخزنة.

روبي تدعم خمسة أنواع من المتغيرات.

  • أقل عموما الحروف، بدءا تسطير: المتغير (متغير).
  • $ في البداية: متغير عمومي (متغير عمومي).
  • @ بداية: المتغيرات سبيل المثال (مثيل متغير).
  • @@ يتم تقاسم متغير فئة (متغير الدرجة) متغيرات الفئة عبر سلسلة الميراث
  • تبدأ بحرف كبير: ثابت (ثابت).

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

المتغير العالمي روبي

المتغيرات العالمية تبدأ $. متغير عمومي غير مهيأ هولا شيء،في الخيار -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__: الحالي رقم السطر ملف المصدر.