Ruby 방식이란 무엇입니까?
메서드는 특정 목적을 위해 함께 그룹화된 하나 또는 여러 줄의 Ruby 코드입니다.
이 그룹화된 코드에는 이름이 지정되어 코드를 다시 작성하거나 복사하여 붙여넣을 필요 없이 원할 때마다 사용할 수 있습니다.
방법의 목적은 :
- 정보를 얻으세요.
- CHANGE 또는 CREATE 개체.
- 필터링 및 포맷 데이터.
예시 1 :
size
Array
의 메소드 개체는 요소 수를 제공합니다(정보 가져오기).
예시 2 :
pop
메소드는 배열에서 마지막 요소를 제거합니다(개체 변경).
개체, 클래스 및 메서드 간의 관계를 이해하면 모든 것이 이해되기 시작합니다.
계속 배워봅시다!
방법 정의 방법
Ruby 프로그래밍 언어에는 사용할 수 있는 강력한 내장 메서드가 많이 있지만 자신만의 메서드를 만들 수도 있습니다. .
어떻게?
def
를 사용하여 고유한 인스턴스 메소드를 정의할 수 있습니다. 키워드.
구문은 다음과 같습니다. :
def gimme_bacon puts "Bacon plz." end
무슨 일이야?
def
Ruby 구문의 일부이며def
방법gimme_bacon
메소드의 이름입니다.puts "Bacon plz."
메소드의 본문입니다.end
메서드 정의의 끝을 표시합니다.
메서드를 정의하면 Ruby에 만들고 싶다고만 알려줍니다.
사용하고 싶다면 메소드를 호출해야 합니다.
Ruby에서 메소드를 호출하는 방법
Ruby에서는 메소드를 사용할 때 호출한다고 말합니다.
"메서드 호출"을 자주 듣거나 객체 지향 순수주의자와 함께 작업하는 경우 "메시지를 보내고 있습니다"라는 말을 들을 수 있습니다.
어느 쪽이든…
방법을 사용하는 예를 살펴보겠습니다.
여기요 :
gimme_bacon
인쇄물 :
"Bacon plz."
개체에서 메서드를 호출할 수 있습니다.
예를 들어 :
n = [1,2,3] n.size # 3
이 n.size
size
메소드를 호출하고 있습니다. n
개체에서 , Array
.
결과는?
배열의 크기를 얻습니다.
어떤 방법을 사용할 수 있습니까?
메서드를 호출하는 개체의 클래스에 따라 다릅니다.
배열에는 해시와 다른 방법이 있습니다. .
Ruby 문서를 확인하여 주어진 클래스에 대한 메소드 목록을 찾을 수 있습니다.
메서드에서 값 반환
Ruby의 핵심 개념 중 하나는 모든 메서드가 값을 반환한다는 것입니다.
설명하겠습니다!
메서드를 호출한 결과로 무언가를 얻을 수 있습니다.
이 "무언가"는 메서드 정의의 마지막 표현식에서 가져옵니다.
제 말은 다음과 같습니다. :
def number_one 1 end number_one # 1
또 다른 예 :
def add(x,y) x + y end add(5, 6) # 11
이를 "암시적 반환"이라고 하며, "마지막 항목을 자동으로 반환"이라는 멋진 이름입니다.
추가 :
Ruby에게 return
하도록 지시할 수 있습니다. 키워드가 있는 것.
def two return 2 end # 2
return
을 사용하면 메서드 실행이 중지됩니다. .
코드에서 조기 반환을 위해 사용하거나 루프를 종료하기 위해 사용합니다.
내 메소드 이름에 물음표가 있는 이유는 무엇입니까?
이상한 Ruby 메서드를 찾을 수 있습니다.
같은 이름으로 :
empty?
sort!
title=
모두 유효한 메소드 이름입니다.
물음표, 느낌표 또는 등호는 무엇을 의미합니까?
Ruby 커뮤니티의 규칙입니다.
설명 :
- 물음표 방식 , 술어 메서드라고도 하며
true
중 하나를 반환해야 합니다. 또는false
- 느낌표 방식 느낌표가 아닌 버전과 다른 작업을 수행한다고 말합니다. 일반적으로 이것은 요소 추가/삭제와 같은 방식으로 개체 자체를 변경하는 것과 관련이 있습니다. "뱅 방법"이라고도 합니다.
- 등호 방식은 할당을 의미합니다. . 인스턴스 변수에 값을 할당하는 데 사용됩니다.
이러한 규칙 중 어느 것도 언어에 의해 시행되지 않습니다.
하지만…
따라하시면 더 많은 Ruby와 같은 코드를 작성할 수 있습니다!
요약
Ruby 메서드의 힘, 메서드를 정의하는 방법, 사용하는 방법 및 적절한 규칙을 따르는 방법에 대해 배웠습니다.
이제 여러분이 이것을 실천할 차례입니다 🙂
읽어주셔서 감사합니다!