너의 루비 연마: 4부분
우리 함께 여정을 시작하여 루비재단을 재검토합시다.
Twitter에서 나를 주목하라:
질문이나 의견이 있거나 초보자일 경우 도움이 필요하시면 아래에 댓글을 달거나 저에게 메시지를 보내주세요.
방법이 뭐예요?
방법은 루비 프로그램의 강력한 기능을 구축하는 것입니다. 이 기능을 사용하면 동작을 봉인하고 나중에 이 방법을 호출해서 완전한 프로그램을 만들 수 있습니다.
방법 문법
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
단련하다애플릿을 만들려면 다음과 같이 하십시오.
def subtraction(a, b, c = 0)
a - b - c
end
puts subtraction(100, 50) # 50
결론오늘은 여기까지.여정이 막 시작되었으니 다음 댓글을 계속 지켜봐 주세요.(오늘 늦거나 내일)
의견이나 질문이 있으면 여기에 발표하거나 트위터에 메시지를 보내주세요.
Twitter에서 나를 주목하라:
Reference
이 문제에 관하여(너의 루비 연마: 4부분), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/ericchapman/sharpen-your-ruby-part-4-15a3텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)