Computer >> 컴퓨터 >  >> 프로그램 작성 >> Ruby

Ruby 함수 및 메서드:자신만의 정의 방법

Ruby 방식이란 무엇입니까?

메서드는 특정 목적을 위해 함께 그룹화된 하나 또는 여러 줄의 Ruby 코드입니다.

이 그룹화된 코드에는 이름이 지정되어 코드를 다시 작성하거나 복사하여 붙여넣을 필요 없이 원할 때마다 사용할 수 있습니다.

방법의 목적은 :

  • 정보를 얻으세요.
  • CHANGE 또는 CREATE 개체.
  • 필터링 및 포맷 데이터.

예시 1 :

size Array의 메소드 개체는 요소 수를 제공합니다(정보 가져오기).

예시 2 :

pop 메소드는 배열에서 마지막 요소를 제거합니다(개체 변경).

개체, 클래스 및 메서드 간의 관계를 이해하면 모든 것이 이해되기 시작합니다.

Ruby 함수 및 메서드:자신만의 정의 방법

계속 배워봅시다!

방법 정의 방법

Ruby 프로그래밍 언어에는 사용할 수 있는 강력한 내장 메서드가 많이 있지만 자신만의 메서드를 만들 수도 있습니다. .

어떻게?

def를 사용하여 고유한 인스턴스 메소드를 정의할 수 있습니다. 키워드.

구문은 다음과 같습니다. :

def gimme_bacon
  puts "Bacon plz."
end

무슨 일이야?

  1. def Ruby 구문의 일부이며 def 방법
  2. gimme_bacon 메소드의 이름입니다.
  3. puts "Bacon plz." 메소드의 본문입니다.
  4. 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 메서드의 힘, 메서드를 정의하는 방법, 사용하는 방법 및 적절한 규칙을 따르는 방법에 대해 배웠습니다.

이제 여러분이 이것을 실천할 차례입니다 🙂

읽어주셔서 감사합니다!