반응형
Ruby에서 한 줄에 메소드를 어떻게 정의합니까?
가 def greet; puts "hello"; end
루비에 한 줄에하는 방법을 정의 할 수있는 유일한 방법은?
괄호를 사용하면 세미콜론을 사용할 필요가 없습니다.
def hello() :hello end
완전히 새로운 답변을 제공하십시오.
일반적으로 한 줄 방법은 피하십시오. 비록 그들이 야생에서 다소 인기가 있지만, 그들의 사용을 바람직하지 않게 만드는 정의 구문에 대한 몇 가지 특징이 있습니다. 여하튼- 한 줄 메서드에는 표현식이 하나만 있어야합니다 .
# bad
def too_much; something; something_else; end
# okish - notice that the first ; is required
def no_braces_method; body end
# okish - notice that the second ; is optional
def no_braces_method; body; end
# okish - valid syntax, but no ; make it kind of hard to read
def some_method() body end
# good
def some_method
body
end
규칙에 대한 한 가지 예외는 빈 본문 메서드입니다.
# good
def no_op; end
def add a,b; a+b end
세미콜론은 Ruby의 인라인 문 종결 자입니다.
또는 define_method
방법을 사용할 수 있습니다 . (편집 : 이것은 루비 1.9에서 더 이상 사용되지 않습니다)
define_method(:add) {|a,b| a+b }
또 다른 방법:
define_method(:greet) { puts 'hello' }
메서드를 정의하는 동안 새 범위를 입력하지 않으려는 경우 사용할 수 있습니다.
또 다른 방법 :
def greet() return 'Hello' end
참고 URL : https://stackoverflow.com/questions/4301668/how-do-i-define-a-method-on-one-line-in-ruby
반응형
'development' 카테고리의 다른 글
iPad Safari : 링크가 연결되었을 때 빠른 깜박임 효과를 비활성화하는 방법 (0) | 2020.09.15 |
---|---|
rxjava : retry ()를 사용할 수 있지만 지연이 있습니까? (0) | 2020.09.15 |
Symfony2를 사용하여 Twig 템플릿에서 환경 이름 가져 오기 (0) | 2020.09.15 |
JavaScript에서 시간대 오프셋으로 날짜를 ISO 8601 형식으로 지정하는 방법은 무엇입니까? (0) | 2020.09.15 |
여러 Java 웹 프레임 워크의 장단점은 무엇입니까? (0) | 2020.09.15 |