코브라 프로그래밍 언어 의 문법은 크게 파이썬에서 영감을, 그리고 꼭 필요한 것은 것 같다 그래서 멀리 콜론으로 수행된다. 그러나 콜론 만 제거하는 것만으로는 충분하지 않으며 필요한 구문에 다른 변경 사항이 있습니다. 예를 들어이 코드를보십시오 내 장난감 프로젝트 중 하나의 다음 를 .
kons = lambda hd, tl: lambda x: hd if x else tl
virst = lambda l: l(True )
rrest = lambda l: l(False)
콜론이 없으면 매개 변수 목록에서 본문을 분리하려면 들여 쓰기를 사용해야합니다.
kons = lambda hd, tl
lambda x
hd if x else tl
virst = lambda l
l(True )
rrest = lambda l
l(False)
나는 이전 버전의 Cobra가 콜론을 옵션으로 만들었다 고 생각합니다. 들여 쓰기 또는 콜론 또는 둘 다 사용할 수 있습니다. Ruby에서 작동하는 방식과 유사하게 제어 표현식의 다른 부분을 구분하는 키워드가 있지만 표현식 구분 기호 (세미콜론 또는 개행)를 사용할 수도 있습니다.
# idiomatic
while true do puts "I am awesome" end
# ↑↑
# non-idiomatic, but legal
while true; puts "I am awesome" end
# ↑
# non-idiomatic, but legal
while true
puts "I am awesome" end
# idiomatic
while true
puts "I am awesome"
end
현재 버전의 Cobra에서는 쉼표를 사용할 수 있습니다.
if x
y
로 쓸 수 있습니다
if x, y
당신이해야 할 몇 가지 제어 표현식 또는 정의의 다른 부분을 분리하는 방법. 파이썬에서는 이것이 콜론입니다. 콜론을 제거하면 강제 들여 쓰기 와 같은 다른 콜론으로 대체해야합니다 . 만 결장이 작동하지 않습니다 제거.
절대적으로 확신 할 수있는 유일한 방법은 콜론을 사용하거나 사용하지 않고 구문을 공식화하고 모호하지 않음을 증명하는 것입니다.
그러나 파이썬 의 선 (Zen of Python ) 의 격언 중 하나 는 "명시 적 (Explicit)이 암시 적 (implicit)보다 낫다"라는 점에 유의하십시오. 따라서 콜론으로 블록을 명시 적으로 묘사하는 것은 파이썬의 일반적인 철학에 맞는 것 같습니다. 디자인 역사 자주 묻는 질문은 이 결정이 파이썬의 전신 인 ABC에서 경험적 증거에 근거 것을 언급하고있다.