Ruby에서 변수 유형 분류

소개



Ruby에는 지역 변수, 전역 변수, 인스턴스 변수 및 클래스 변수의 네 가지 유형의 변수가 있습니다. 선택할 수 있는 변수 유형이 너무 많기 때문에 Ruby 코드에서 변수에 값을 할당할 때 어떤 유형을 사용해야 하는지 알기 어려울 수 있습니다. 이러한 다양한 유형의 변수의 동작 및 제약 조건에 대해 알아보려면 계속 읽으십시오.

시길이란 무엇입니까?



Sigil은 변수의 유형을 나타내기 위해 일부 Ruby 변수의 시작 부분에 부착된 특수 문자입니다. Ruby 코드에서 보게 될 두 개의 인장은 @와 $입니다. @ sigil을 사용하여 인스턴스 변수와 클래스 변수를 식별합니다. Ruby 코드에서 @는 우리가 만난 변수의 유형이 인스턴스 변수임을 나타내고 @@의 모양은 클래스 변수를 다루고 있음을 나타냅니다. 코드에서 전역 변수를 식별하기 위해 다른 기호인 $를 사용할 수 있습니다.

지역 변수



Ruby의 지역 변수는 지역 범위 내에서 정의되는 변수입니다. 이 범위는 클래스, 모듈 또는 메서드 내에 있을 수 있습니다. 지역 변수는 소문자 또는 밑줄로 시작할 수 있습니다. local은 로컬 범위에서만 정의되기 때문에 이러한 변수는 해당 클래스, 모듈 또는 메서드 내에서만 사용할 수 있습니다.

def my_method
    variable_type = "local"
    puts "This method accesses a #{variable_type} variable!"
end



글로벌 변수



전역 변수는 전역 범위 내에서 정의되는 변수입니다. 이러한 변수는 응용 프로그램 내 어디에서나 사용하고 액세스할 수 있습니다. 이 유형의 변수 앞에는 $가 붙습니다. 전역 변수는 응용 프로그램의 한 클래스, 메서드 또는 모듈이 props를 사용하지 않고 다른 클래스 내에서 정의된 변수 값에 쉽게 액세스할 수 있도록 하는 데 사용할 수 있으므로 편리합니다. 전역 변수는 단순해 보일 수 있지만 코드에서 원치 않는 복잡성을 초래할 수 있으므로 주의해서 사용해야 합니다.

def my_method
    $variable_type = "global"
end

def other_method_in_application
    puts "This method accesses a #{variable_type} variable!"
end


인스턴스 변수



인스턴스 변수는 클래스 내의 특정 인스턴스에 작용하는 변수입니다. 위에서 언급했듯이 이러한 변수는 @ sigil로 시작합니다. 아래 예제는 클래스 내에서 인스턴스 변수의 초기화를 보여줍니다.

class MyClass
    def initialize(instance_variable, other_instance_variable)
        @instance_variable = instance_variable
        @other_instance_variable = other_instance_variable
    end
end


클래스 변수



클래스 변수는 전체 루비 클래스에 작용하는 변수입니다. 위에서 설명한 것처럼 두 개의 @ 표시를 사용하여 클래스 메서드를 다루고 있음을 나타낼 수 있습니다. 아래 예제는 클래스 변수의 초기화를 보여줍니다.

class MyClass
    def initialize
        @@class_variable = class_variable
        @@other_class_variable = other_class_variable
    end
end


결론



Ruby 프로그램에서 사용할 변수 유형을 결정할 때 두 가지를 고려하는 것이 중요합니다. 우선, 애플리케이션의 어떤 부분이 변수에 액세스해야 하는지 고려해야 합니다. 둘째, 프로그램 전체에서 변수의 값이 일관되기를 원하는지 여부를 자문해야 합니다. 일반적으로 전역 변수 사용을 피하고 대신 지역 변수를 사용하는 것이 가장 좋습니다. 또한 시길을 사용하면 변수 유형을 전역, 인스턴스 또는 클래스 변수로 쉽게 식별할 수 있습니다.

좋은 웹페이지 즐겨찾기