오프사이드 룰

위키백과, 우리 모두의 백과사전.

컴퓨터 프로그래밍 언어블록들이 들여쓰기로 표현되는 경우 오프사이드 룰(off-side rule)을 준수한다고 이야기된다.[1][2] 이 용어는 축구오프사이드 규정의 말장난으로 추정되며 피터 J. 랜딘에 의해 만들어졌다. 반의어는 자유형 언어, 특히 중괄호 프로그래밍 언어이며, 이 언어의 경우 들여쓰기가 의미없으며 들여쓰기는 단지 코드 서식의 문제일 뿐이다.

코드 예시[편집]

다음은 파이썬의 들여쓰기 블록의 예시이다. 콜론은 가독성을 위한 파이썬 언어 문법의 일부이며[3] 오프사이드 규칙 구현에 필수적인 것은 아니다.

파이썬에서 선언이 아닌 문의 경계를 정의하기 위해 이 규칙을 사용한다.

def is_even(a: (int, float)) -> bool:
    """Determine whether number 'a' is even."""
    if int(a % 2) == 0:
        print('Even!')
        return True
    print('Odd!')
    return False

또, 파이썬은 중괄호 안에서 오프사이드 룰을 유예시키기도 한다. 괄호 내 문들은 괄호가 일치하거나 일치하지 않을 때까지 계속한다:

{
    "this": True,
    "that": False,
    "them": [1, 2,
3, 4, 5,
6, 7, 8,
9, 10, 11, 23]
}

딕셔너리에서 키들은 들여쓰기가 되어 있으며 리스트는 두 줄로 분리되어 있다.

오프사이드 룰 언어[편집]

프로그래밍 언어
기타 언어

각주[편집]

  1. Hutton, G. (2012년 12월 6일). 〈Parsing Using Combinators〉. Davis, Kei; Hughes, John. 《Functional Programming: Proceedings of the 1989 Glasgow Workshop 21–23 August 1989, Fraserburgh, Scotland》. Springer Science & Business Media. 362–364쪽. 2015년 9월 3일에 확인함. 
  2. Turner, D.A. (2013년 8월 13일). 〈Some History of Functional Programming Languages (Invited Talk)〉. Loidl, Hans Wolfgang; Peña, Ricardo. 《Trends in Functional Programming: 13th International Symposium, TFP 2012, St Andrews, UK, June 12–14, 2012, Revised Selected Papers》. Springer. 8쪽. 2015년 9월 3일에 확인함. 
  3. “Python FAQ on colons”. 2012년 2월 7일에 원본 문서에서 보존된 문서. 2020년 6월 16일에 확인함. 
  4. Syme, Don. “Detailed Release Notes for the F# May 2009 CTP Update and Visual Studio 2010 Beta1 releases”. 2019년 1월 21일에 원본 문서에서 보존된 문서. 
  5. The Haskell Report - Layout
  6. MoonScript, a language that compiles to Lua
  7. MoonScript 0.5.0 - Language Guide
  8. reStructuredText Markup Specification - Indentation
이 문서에는 GFDL 라이선스로 배포된 자유 온라인 컴퓨팅 사전(FOLDOC)의 내용을 기초로 작성된 내용이 포함되어 있습니다.