보통 for문은 아래와 같습니다.

for( var i: int = 0 ; i < 10 ; i++ )
{
    trace( i );
}

근데 AS3.0에서는 i의 변수 스코프가 for문에 국한되지 않기 때문에

바로 밑에 또 for문을 쓴다면 귀찮게 된다.

그리고 loop부분도 썩 이쁘진 않다.

그래서 이렇게 쓰는게 가장 이쁘지 않나 생각된다.

var i: int;
var length: int;

for( i = 0 , length = 10 ; i < length ; i += 1 )
{
    trace( i );
}

말그대로 선언부와 실행부를 나눴다고 볼 수 있는데

아마 좀 특이한 부분은 아래 노란색 부분이라고 하겠다.

var i: int;
var length: int;

for( i = 0 , length = 10 ; i < length ; i += 1 )
{
    trace( i );
}

문득 for문을 쓰다가 ";" 하나의 명령문의 끝을 나타내주는 저 문자가

오지 않는다면 변수 여러개 선언하듯이

for 문에서 쓰이는 두개의 변수를 한번에 선언할 수 있지 않을까 해서

시도해봤더니 되더군요.

저 for문 아래로 몇개가 더 오더라도

for문의 형식은 마찬가지이기 때문에

코드의 외형을 크게 해치지지 않고 가독성에도 좋을거라고 생각됩니다.

How about this?


  1. 금돌 2008.08.22 16:06

    이쁘게~ ㅋㅋ

  2. 케이 2008.08.23 04:33

    이런방법도있었구나... 왜 생각을 못했지^^

    • Favicon of https://wooyaggo.tistory.com 우야꼬  2008.08.24 19:48 신고

      꼭 저 선언부말고
      조건부랑 반복문도 ; 콜론이 오기 전에
      , 콤마로 여러 연산을 해줄 수 있으니 그방법도 이용하면 편리하지^^
      중요한건 협업하는 사람과의 코드 통일성이겠지

  3. andwhy 2008.08.23 18:47

    아하..length 도 저기서 셋팅해주면 되는구나!!! 왜 맨날 위에서 셋팅을 한거지??-0-;;;

    • Favicon of https://wooyaggo.tistory.com 우야꼬  2008.08.24 19:47 신고

      너무 당연하게 쓰던 것들이라 미처 다른 방법이 있을거라고 생각못했던거 같애 나도 마찬가지고 ㅋ

  4. Favicon of https://blog.flashplatform.kr 검쉰 2008.08.24 00:19 신고

    재미있네요 ;)

  5. 이지홍 2008.08.24 01:22

    증감문에 1씩증가한다면 비트연산자로
    I++이 더 좋지안을까요

    • Favicon of https://wooyaggo.tistory.com 우야꼬  2008.08.24 19:46 신고

      가감 연산자랑 여러개를 테스트해봤는데
      Integer 일때 + 연산은 += 1 이 미세하게 약간 빨랐고
      - 연산은 -- 가 미세하게 약간 빨랐던 테스트를 해봐서
      그 이후로는 += 1 로 계속 쓰게 되네요^^
      그리고 i++는 비트연산자는 아니자나요 ㅎㅎ

  6. Favicon of http://hongsgo.egloos.com 이지홍 2008.08.25 00:30

    오호 . 그렇군여
    ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ

  7. 박스농사 2008.08.29 16:49

    우야꼬님 좋은팁 감사용~
    검쉰바보

  8. 케이 2008.09.01 16:57

    후위 연산자와 전위 연산자 비교했을때도 전위연산자가 더 빠릅니다.
    그래서 전 for(var i:int=0; i<len; ++i) {} 이렇게 쓰는 습관이 되었네요. ^^

  9. 지나가다 2008.09.10 01:21

    프로그래밍에 정답은 없겠죠.
    약간 빠르다....약간 느리다 라는 것은 실제 사람이 느끼지 못하는 부분일 꺼고...
    코딩 스타일은 개개인의 스타일이 있을거니까요.
    후위 연산자...전위 연사자...즉, 가감연산자들은 앞, 뒤에 붙어야만 하는
    이유가 있어서 그렇게 사용하는 것인데 빠르다, 느리다에 초점을 맞추는 것은
    문제가 있어 보입니다.

    원론적으로 저는 그다지 이뻐보이지는 않는 코드였습니다.

    • Favicon of https://wooyaggo.tistory.com 우야꼬  2008.09.10 10:29 신고

      위에 리플 다신분들중에 후증감 선증감 모르시는분 한분도 없습니다. (다 0부터 시작하느냐 1부터 시작하느냐에 대한 상황차이일테죠.)
      이미 개개인의 코딩스타일은 다 가지고 계신분들이고
      어떻게 하면 지금의 퀄리티를 향상시킬 수 있을까
      호기심과 학구열을 가지고 계신분들입니다.
      저 또한 마찬가지구요.

      게다가 약간 느리다/빠르다가 테스트 수치상으로는 0.1초도 안되는 찰나지만
      저게 대량 데이타와 마주쳤을때는 더이상 성능향상을 할 수 없을거라고 판단되는 상황을 역전시켜 주는 기폭제가 됩니다.

      프로그램을 하는 사람은 항상 학문적 탐구욕이 있어야한다고 생각합니다.
      프로젝트에 따라서 취사선택을 해야겠지만
      사용할 일이 없다고 전적으로 거부하는 모습은 마치 아마추어같습니다.

  10. 허허허 2008.12.23 18:32

    공부 좀 더하셔야 할 듯

  11. 러플 2009.01.14 22:03

    저렇게 되면 이뻐지지만 메모리 효율성으로는 좀...(요즘은 메모리가 너무 크다해도 )

+ Recent posts