자기 자신은 언제입니까?

4143 단어 selfruby
self가 정말 그 자체인 때는 언제입니까? 트릭 질문은 항상 그렇습니다. 자신이 누구인지의 문제입니다. 프로그래밍을 처음 접하는 사람으로서 자기 개념을 파악하는 것은 어려운 일이었습니다. 이 단일 변수가 프로그램을 만들거나 중단하는 데 막대한 영향을 미칠 수 있기 때문입니다. 나에게 self는 그것이 가리키는 곳과 사용해야 할 때를 이해하는 수수께끼였습니다. Self는 클래스 또는 인스턴스를 참조할 수 있습니다. self는 어딘가를 가리키는 데 사용할 수 있는 변수이며 가리키는 경우 수신되는 정보를 변경할 수 있습니다.


사례



class Dog
    def sit
        self
    end
end

Apollo = Dog.new("Apollo")
Apollo.sit == Apollo 
# => true


위의 예에서 sit는 인스턴스 메서드입니다. Dog.new를 사용하여 만든 개체에 속합니다. 이 예에서 self가 Dog의 인스턴스를 가리키는 것을 볼 수 있습니다.


수업



class Dog
    def self.sit
        self
    end
end
Dog.sit == Dog
# => true


이 예에서 self는 클래스를 가리킵니다. self가 정의된 메서드 앞에 오면 인스턴스 메서드에서 클래스 메서드로 바뀝니다. 클래스 메서드는 클래스 자체가 소유합니다.


자기 자신을 위한 다른 용도
@@all 로 클래스 변수를 호출하는 대신 클래스 변수를 반환하는 클래스 메서드의 도움으로 self.class.all 를 사용하여 메서드 내에서 호출할 수 있습니다. 기능은 동일하지만 시각적으로 더 매력적인 옵션입니다.

피해야 하지만 메서드와 지역 변수가 같으면 이렇게 호출할 수 있다.

def cat
    "imma cat meow"
end

def method_name
    cat = "Munchkin"
    puts cat
    puts self.cat
end
# => Munchkin
# => imma cat meow

self.cat 를 호출하면 메서드와 이름을 서로 구별할 수 있고 컴퓨터에서 혼동 없이 사용할 수 있습니다(코드를 읽는 사람에게는 혼동을 줄 수 있음).

내가 직접 본 더 많은 용도가 있지만, 내가 배우지 않은 것을 가르치고 싶지 않고 앞으로 이 게시물을 업데이트할 것이기 때문에 이 게시물에서는 다루지 않을 것입니다. 여전히 자신을 이해하는 데 어려움을 겪고 있다면 연습 연습을 연습하십시오. 연습과 함께 올 것입니다. 아래는 내가 자신을 더 잘 이해하는 데 도움이 된 기사이며 귀하에게도 도움이 되기를 바랍니다.

                          Happy Coding!            



What Is Self in Ruby & How to Use It (Explained Clearly)

Self in Ruby: A Comprehensive Overview

Understanding self in Ruby

@/@@ vs. self in Ruby

좋은 웹페이지 즐겨찾기