너의 루비 연마: 4부분

Javascript, Python, PHP, Ruby로 개발했습니다.지금까지 루비는 내가 가장 좋아하는 프로그래밍 언어였다.
우리 함께 여정을 시작하여 루비재단을 재검토합시다.
Twitter에서 나를 주목하라:
질문이나 의견이 있거나 초보자일 경우 도움이 필요하시면 아래에 댓글을 달거나 저에게 메시지를 보내주세요.
방법이 뭐예요?
방법은 루비 프로그램의 강력한 기능을 구축하는 것입니다. 이 기능을 사용하면 동작을 봉인하고 나중에 이 방법을 호출해서 완전한 프로그램을 만들 수 있습니다.
방법 문법
  • 메소드 이름은 문자로 시작해야 합니다.문자, 숫자, u(밑줄 또는 낮은 선)를 포함할 수 있습니다.
  • 관례는 밑줄을 사용하여 여러 단어를 구분하는 방법
  • 의 단어이다
  • 방법 설명 시'def'키워드를 사용하고 방법 이름과 파라미터를 따라가며'end'키워드
  • 로 끝냅니다.
  • 방법 매개 변수는 방법 이름 뒤에 지정하고 괄호로 묶는다.
  • 호출(호출) 방금 사용한 방법은name
  • 예:
    def display_message(message)
       puts message
    end
    
    # Calling the method
    display_message 'Hello World'
    
    # or with optional parentheses
    display_message('Hello World')
    
    메소드 반환값
    Ruby는 특히 반환 값을 처리하는 독특한 방식을 가지고 있다.
    루비는 메서드의 마지막 줄을 자동으로 반환합니다.
    def addition(a, b)
       a + b
    end
    
    puts addition 10, 5
    # 15
    
    이것은 이 일과 완전히 같다
    def addition(a, b)
       return a + b
    end
    
    puts addition 10, 5
    # 15
    
    마지막 줄이 항상 Return이기 때문에, Return 키워드는 선택할 수 있습니다.
    주의하다.이것은 사람을 곤혹스럽게 할 수 있다.
    def addition(a, b)
       puts a + b
    end
    
    puts addition 10, 5
    # 15
    # empty
    
    마지막 줄이 항상 루비로 돌아가기 때문에 puts 방법의 결과를 되돌리는 것은 아무것도 아니다.
    그래서 a+b로 돌아가는 것과 a+b로 돌아가는 것은 뚜렷한 차이가 있다
    관례에 따르면, 만약 우리가 마지막 줄로 돌아가고 싶다면 (이것은 루비의 기본 설정이기 때문에) 키워드 'return' 을 영원히 사용하지 않을 것이다.
    그러나 마지막 줄 이전의 내용을 되돌리려면 키워드'return'을 사용해야 합니다.
    def check(a, b)
      if a > 100
        return 'Number too high'
      end
      'Number is correct'
    end
    
    # call the method to test the result
    check 120, 30 # Number too high
    check 50, 2 # Number are correct
    
    변수 "a"가 100보다 크면 이 메서드는 "Number too high"를 반환합니다.돌아오면 방법이 끝납니다.그래서 마지막 줄은 영원히 집행되지 않을 겁니다.
    변수 "a"가 100보다 작거나 같으면이 메서드는 "Number is correct"로 돌아갑니다.마찬가지로, 방법의 마지막 줄이기 때문에, "Return"키워드는 선택할 수 있습니다.
    a로 마무리하는 방법명?
    루비에서 어떤 방법의 이름은?
    number = 4
    number.even? # true
    number.odd? # false
    
    관례에 따라 "?"로 끝내는 방법항상 부울 값(true 또는 false)을 반환합니다.
    자신의 부울 메서드를 작성할 수 있습니다.
    def is_valid?(password)
      if password.length > 1
        return true
      end
      false
    end
    
    # call the method
    puts is_valid? 'secret'
    # true
    
    방법명
    Ruby에서 몇몇 방법은 이름이!이런 방법들이 바로 이른바 뱅 방법이다.펑 방법은 원래 위치에서 객체를 수정합니다.이것은 대상의 값을 바꿀 수 있기 때문에 위험할 수 있습니다. 이것은 당신의 의도가 아닐 수도 있습니다.
    예를 들어 루비는 상반된 두 가지 방법이 있는데 하나는 일반적인 것이고 다른 하나는 폭발이다!
    name.reverse
    # and
    name.reverse!
    
    펑!방법은 적당한 위치에서 대상의 값을 변경합니다
    name = 'Mike'
    puts name.reverse! # ekiM
    
    # that method bang! will have also update the name variable
    puts name
    # ekiM
    
    메소드 매개 변수 기본값
    메소드 매개 변수의 기본값을 설정할 수 있습니다.
    def addition(a, b = 10)
       a + b
    end
    
    addition 100
    # 110
    
    b가 지정되지 않았기 때문에 기본값 10을 사용합니다
    메서드 이름 지정 매개변수
    천 마디 말보다 한 장의 사진이 낫기 때문에 이 예를 살펴보자.
    def calculation(price, shipping, taxes)
       price + shipping_fee + taxes
    end
    
    calculation(200, 50, 20) # 270
    
    보시다시피 여러 개의 파라미터가 있으면 어떤 파라미터가 무엇인지 이해하기 어려울 것입니다.
    이 시나리오에 대한 명명 논점이 제시되었습니다.
    def calculation(price, shipping, taxes)
       price + shipping + taxes
    end
    
    calculation(price = 200, shipping = 50, taxes = 20) # 270
    
    지금 사용하는 방법이 더욱 분명해졌다.
    이름 매개 변수의 또 다른 장점은 매개 변수의 순서를 변경할 수 있다는 것이다.
    calculation(taxes = 20, shipping = 50, price = 200) # 270
    
    단련하다
    애플릿을 만들려면 다음과 같이 하십시오.
  • 3개의 매개 변수를 가진 방법명 감법 만들기
  • 세 개의 숫자의 감법 결과를 되돌려 주는 방법은 매개 변수로 전달한다.
  • 마지막 매개변수를 지정하지 않으면 기본값 0
  • 으로 간주됩니다.
  • 이 방법을 호출하여 결과를 인쇄
  • 솔루션
    def subtraction(a, b, c = 0)
       a - b - c
    end
    
    puts subtraction(100, 50) # 50
    
    결론
    오늘은 여기까지.여정이 막 시작되었으니 다음 댓글을 계속 지켜봐 주세요.(오늘 늦거나 내일)
    의견이나 질문이 있으면 여기에 발표하거나 트위터에 메시지를 보내주세요.
    Twitter에서 나를 주목하라:

    좋은 웹페이지 즐겨찾기