2011-11-25 12 views
4

더 나은 스타일 무엇입니까? @Romain이 말했듯이, 선호되는 방법은 한 줄에 방법을 정의하는 것입니다.Ruby에서 한 줄에 메서드를 정의하는 더 좋은 방법 (더 나은 스타일)은 무엇입니까?</p> <pre><code>def method; some code end </code></pre> <p>또는</p> <pre><code>def method() some code end </code></pre> <p>이유 :

+7

나에게 묻는다면, 선호하는 방법은 여러 줄로 정의하는 것입니다 (적어도 3 개 이상을 말하기도합니다). – Romain

+0

링크 된 질문에 언급 된 스타일 가이드를 읽는 것이 좋습니다. http://stackoverflow.com/questions/616037/ruby-coding-style-guidelines –

답변

9

가장 좋은 방법은 이 아니라입니다. 하나의 줄에 블록을 기록 할 때

def method 
    some code 
end 
2

어떤 사람들은 begin; end 대신 {}를 사용합니다. 당신은 당신이 찾아내는 경우

def method 
    some code 
end 

: 다른 세 줄에 그것을 분할, 한 줄에하는 방법을 정의

class A 
    define_method(:method_name) { |arg1, arg2| do_something } 
end 
0

는 문서에서 수행해야합니다

은 어쩌면이 당신의 요구에 맞는 (예 : getter & setters) 많은 중복을 줄이기 위해 많은 메타 프로그래밍 기법 (예 : define_method 사용)이있을 수 있습니다. 예를 들어, 당신은 많은 게터에게 & setter를 정의 할 :attr_accessor를 사용할 수 있습니다

class Person 
    # defines name, name=, age, age=, ... 
    attr_accessor :name, :age, :blood_type 
end 

Here이에 대해 이야기 루비 포럼입니다. 나는 또한 Metaprogramming Ruby을 읽는 것이 좋습니다. 그것은 당신의 문제를 해결하기위한 3 가지 또는 4 가지 방법뿐만 아니라 복제를 줄이기위한 다른 많은 기법들을 가지고 있습니다.

관련 문제