Difference between revisions of "Turtle.forward"
From ComputerCraft Wiki
(Undo revision 2998 by 93.181.50.57 (talk)) |
(CETHXYvF) |
||
Line 1: | Line 1: | ||
− | + | admin가 말하길문과 식에 차이랍니다.문이란 statement라고 하는데 말하자면 양념입니다. 식은 exirosspen이라고 하는데 이는 주인공입니다.if, for, while과 같은 문은 결국 식을 조직화하고 원하는 방향으로 사용하기 위한 보조입니다. 진짜 주인공-메모리에 값을 넣거나 읽어드리는-인 식이 핵심적인 알고리즘이죠.if구문은 문으로서 처리되는 반면 삼항연산자는 식으로 평가됩니다. 즉 삼항연산자의 결과는 값이 됩니다. 하지만 if구문의 결과는 없습니다. if구문을 통해 내부의 식을 실행시키는게 목표죠. 따라서 이 둘을 혼용해서는 안됩니다.참고로 루비 등의 근대적인 완전 함수 철학을 도입한 언어의 경우는 모든 문이 식으로 처리하게 만드는 경우도 많습니다.이론은 이정도로 하고 간단히 말해 o?{}:n++은 내부적으로 더 많은 식을 요구합니다.var result:*;result = o ? {} : n++;로 식의 결과를 받기 위한 지역변수와 할당을 자동으로 컴파일러가 추가하게 되며 참인 경우도 아무일도 하지 않는것이 아니라 {}를 통해 스택구역을 하나 더 생성하게 됩니다.따라서 위의 if가 문으로 작동하여 n++라는 식을 하나 처리한것보다 훨씬 많은 일을 하게 되죠. | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | }} | + | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + |
Revision as of 03:08, 21 September 2012
admin가 말하길문과 식에 차이랍니다.문이란 statement라고 하는데 말하자면 양념입니다. 식은 exirosspen이라고 하는데 이는 주인공입니다.if, for, while과 같은 문은 결국 식을 조직화하고 원하는 방향으로 사용하기 위한 보조입니다. 진짜 주인공-메모리에 값을 넣거나 읽어드리는-인 식이 핵심적인 알고리즘이죠.if구문은 문으로서 처리되는 반면 삼항연산자는 식으로 평가됩니다. 즉 삼항연산자의 결과는 값이 됩니다. 하지만 if구문의 결과는 없습니다. if구문을 통해 내부의 식을 실행시키는게 목표죠. 따라서 이 둘을 혼용해서는 안됩니다.참고로 루비 등의 근대적인 완전 함수 철학을 도입한 언어의 경우는 모든 문이 식으로 처리하게 만드는 경우도 많습니다.이론은 이정도로 하고 간단히 말해 o?{}:n++은 내부적으로 더 많은 식을 요구합니다.var result:*;result = o ? {} : n++;로 식의 결과를 받기 위한 지역변수와 할당을 자동으로 컴파일러가 추가하게 되며 참인 경우도 아무일도 하지 않는것이 아니라 {}를 통해 스택구역을 하나 더 생성하게 됩니다.따라서 위의 if가 문으로 작동하여 n++라는 식을 하나 처리한것보다 훨씬 많은 일을 하게 되죠.