시작 바이트열
둘러보기로 가기
검색하러 가기
나루 코드의 시작 바이트열은 코드의 첫 4096바이트를 가리킨다. 이 코드의 첫 부분은 다음 효과를 가진다.
- 코드 문자 인코딩은 시작 바이트열만으로 결정되는 함수이다. (※ 현재 2바이트)
- 스크립트 프로그램의 첫 줄이 셔뱅 줄일 경우 세로 공백 문자를 포함해 해당 줄이 모두 시작 바이트열에 들어가야 한다. (※ 현재 64바이트)
package
지시가 들어 있는 줄은 세로 공백 문자를 포함해 해당 줄이 모두 시작 바이트열에 들어가야 한다.
(※ 표가 쳐진 항목은 해당 효과가 다른 제약 때문에 드러나지 않는 것으로, 미래에 그 제약이 사라질 경우를 대비한 보험으로 간주할 것.)
논의
시작 바이트열은 코드 전체를 읽지 않고도 코드에 대해 최소한의 작업을 할 수 있도록 만들어진 보험이다. 특히 패키지 기능은 보통의 나루 코드를 그대로 사용하는데, 나루 코드는 자유도가 높기 때문에 위와 같은 적절한 제약을 두는 것이 바람직하다.
4096바이트 제약은 주로 package
지시 때문에 결정된 것이다. 이 앞에 올 수 있는 내용은 보통의 주석이나 문서화 주석, 또는 지시 앞에 오는 속성 뿐인데, 주석은 일반적으로 2KB[1]를 넘지 않는 라이선스 조항이 될 것이며, 긴 문서화 주석과 속성은 바인딩을 통해서 다음과 같이 우회할 수 있기 때문에 속성이 지나치게 많은 비현실적인 상황이 아니라면 문제가 없다고 판단했다.
[[doc_attr]] package example { ... } static doc_attr := doc(""" 아아아주우우우 긴 문서 """)
- ↑ MIT 라이선스가 1.1KB 정도, BSD 라이선스가 1.3KB 정도.