루비 변수 깊이 분석

4505 단어 ruby변수
변수는 프로그램이 사용할 수 있는 모든 데이터를 저장하는 위치입니다.
Ruby는 다섯 가지 유형의 변수를 지원합니다.
  • 일반 소문자, 밑줄 시작: 변수(Variable)..
  • $시작: 글로벌 변수(Global variable)..
  • .@ 시작: 인스턴스 변수(Instance variable)..
  • @@시작: 클래스 변수(Class variable) 클래스 변수는 전체 상속 체인에 공유됩니다
  • 대문자 시작: 상수(Constant)..
  • 루비 글로벌 변수
    전역 변수는 $로 시작합니다.초기화되지 않은 전역 변수의 값은nil입니다. - 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으로 출력됩니다.
    참고: 루비에서는 변수나 상수 앞에 # 문자를 배치하여 변수나 상수 값에 액세스할 수 있습니다.
    루비 인스턴스 변수
    인스턴스 변수는 @로 시작합니다.초기화되지 않은 실례 변수의 값은nil입니다. - w 옵션을 사용하면 경고가 발생합니다.
    다음 인스턴스는 인스턴스 변수의 사용법을 보여 줍니다.
    
    #!/usr/bin/ruby
     
    class Customer
      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
    end
     
    #  
    cust1=Customer.new("1", "John", "Wisdom Apartments, Ludhiya")
    cust2=Customer.new("2", "Poul", "New Empire road, 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는 클래스 변수입니다.그러면 다음과 같은 결과가 발생합니다.
    Total number of customers: 1
    Total number of customers: 2
    루비 로컬 변수
    로컬 변수는 소문자 또는 밑줄로 _시작.국부 변수의 작용역은class,module,def 또는do에서 상응하는 끝이나 왼쪽 괄호에서 오른쪽 괄호로 {}입니다.
    초기화되지 않은 국부 변수를 호출할 때, 매개 변수가 없는 방법으로 해석됩니다.
    초기화되지 않은 국부 변수에 대한 값도 변수 성명으로 간주할 수 있습니다.변수는 현재 도메인이 끝날 때까지 계속 존재합니다.로컬 변수의 라이프 사이클은 Ruby 해석 프로그램에서 결정됩니다.
    위의 실례에서 국부 변수는 id,name,addr입니다.
    루비 상수
    상량은 대문자로 시작한다.클래스나 모듈 내에 정의된 상수는 클래스나 모듈의 내부에서 접근할 수 있고, 클래스나 모듈 밖에 정의된 상수는 전역적으로 접근할 수 있다.
    상수는 방법 내에 정의할 수 없다.초기화되지 않은 상수를 인용하면 오류가 발생합니다.초기화된 상수 값에 경고가 발생합니다.
    
    #!/usr/bin/ruby
    # -*- coding: UTF-8 -*-
     
    class Example
      VAR1 = 100
      VAR2 = 200
      def show
        puts "  #{VAR1}"
        puts "  #{VAR2}"
      end
    end
     
    #  
    object=Example.new()
    object.show
    여기서 VAR1과 VAR2는 상수입니다.그러면 다음과 같은 결과가 발생합니다.
    첫 번째 상수의 값은 100이다
    두 번째 상수의 값은 200이다
    루비 위조 변수
    그것들은 특수한 변수로 국부 변수의 외관을 가지고 있지만 행위는 상량과 같다.이 변수에 어떤 값도 부여할 수 없습니다.
  • self: 현재 방법의 수신기 대상..
  • true:true를 나타내는 값..
  • false:false를 대표하는 값..
  • nil:undefined를 대표하는 값..
  • __FILE__: 현재 원본 파일의 이름..
  • __LINE__: 현재 줄의 원본 파일에 있는 번호..
  • 다음은 루비 변수에 대한 상세한 내용을 깊이 있게 분석한 것입니다. 루비 변수에 대한 더 많은 자료는 저희의 다른 관련 글을 주목해 주십시오!

    좋은 웹페이지 즐겨찾기