2011-10-15 2 views
5

Emacs에서 루비 모드를 사용하여 개인 정의 아래 모든 정의를 들여 쓰는 방법을 아는 사람이 있습니까? 예를 들면 다음과 같습니다.Emacs 루비 모드 들여 쓰기 개인

def redirect_back_or(default)  
    redirect_to(session[:return_to] || default)  
    clear_return_to 
end 

private 

    def user_from_remember_token  
     User.authenticate_with_salt(*remember_token)  
    end 

답변

2

개인은 새로운 범위를 도입하지 않으므로 여기에 정의를 들여 쓰는 것이 기술적으로 올바르지 않습니다. indentation styles for private/protected members이 여러 개 있지만, 루비 모드가 지원하는 것은 의미 상으로 정확합니다 (추가 중첩을 도입하지 않음). "Ruby style guide"도 그 스타일을 권장합니다 (두 개의 2 공백 들여 쓰기는 말할 것도 없습니다).

+0

비록 이것이 공식적인 스타일이 아닐지라도, Michael Hartl은 그의 책에서 이렇게하는 것이 좋습니다. 그는 자신의 방법 중 하나가 실수로 비공개로 포함 되었기 때문에 몇 시간을 디버깅하는 데 경험을 쌓았습니다. 나는 똑같은 일이 일어날 때까지 진지하게 조언을 듣지 않았다. [ – stackOverlord

+2

Michael Hartl은 Matz만큼 영향력이 거의 없으며 Matz와 핵심 Ruby 개발자가 그러한 들여 쓰기를 승인 할 것이라고 의심한다. 코드 의미에 해당하지 않습니다. –

+4

빅 네임 해커가 들여 쓰기 스타일을 승인할지 여부를 결정할지 여부는 여기에서 문제가되지 않습니다. 대신 ** 포스터의 개인 취향에 따라 ** 들여 쓰기 작업이 진행 중입니다. ** –

관련 문제