메뉴 건너뛰기

본문시작

스크립트 연구
2011.06.11 22:43

[ About C.O.F.F.E.E. ] The C.O.F.F.E.E. Language

조회 수 504 추천 수 1 댓글 2
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 게시글 수정 내역 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 게시글 수정 내역 댓글로 가기 인쇄
Extra Form

커피 개발 스터디 그룹내 스터디 용으로 만든건데 기초부터 정리 해놓는거라 다들 보시라고 같이 올려요.

커피의 변수 들은 var 키워드를 사용 합니다.

 

var abc;

var sdf = 10;

 

모든 변수들은 타입을 고려할 필요가 없습니다.

이 말의 뜻은 폴리곤 오브젝트 또는 정수 실수 같은 것을 포함할 변수의

타입을 생각할 필요가 없다는 것 입니다.

 

C 에서는 int abc = 5; float sdf = 5.0; 같이 써야 하는 것과 다르게

타입을 생각 할 필요없이 편하게, 선언시에 동일한 키워드를 쓸 수 있는 것이죠.

대입시에도 고려를 할 필요가 없습니다. 대입되면 그 즉시 그 값을 가집니다.

 

typeof() 함수로 변수 또는 오브젝트의 형태를 알수 있습니다.

형태를 나타내는 값을 반환합니다. 자세한건 문서를 검색해 보시면 됩니다.

 

오브젝트와 배열은 new() 함수를 사용합니다.

 

예 :

var object = new(objectType, parameter1, parameter2);

 

변수안에 정수들, 실수들, 벡터들 만 값으로 저장됩니다.

모든 것은 reference애 의해서 저장됩니다.

아래의 코드를 보시면 됩니다.

 

var a = new(array,3);

a[0] = 2;

var b = a;

b[0] = 3;

 

a[0] 그리고 b[0]  양쪽 모두는  3이 될 것입니다.

 

var b=a; 를 넣는 행위가 배열 a가 가르키고 있는 주소 자체를 복사 하는 것이기 때문입니다.

그래서 같은 주소위치를 포인팅 하게 됩니다. 이해하지 않고 그렇다고 생각하고 넘어가시면 됩니다.

이런 것이 필요한 이유는 우리는 사용자가 만든 오브젝트 또는 직접 만든 오브젝트를 변수에 대입해서 또는 가져와 그것의 위치를 

가리켜서(포인터) 그것의 수치를 조절하고 변경 하기 때문 입니다.

 

간단하게 변경, 조절할 수 있는 리모콘을 가져온다고 생각하시면 됩니다.

 

enum , const ,sizeof() 같은 다른 것들은 커피 문서를 보셔도 되고 C 책을 참고 하셔도 됩니다.

같은 문법과 같은 쓰임, 실행을 합니다.

 

메모리 관리

 

커피는 garbage collector 에 의해서 메모리 관리를 합니다.

그래서 할당한 메모리를 delete 키워드로 지워줄 필요가 없습니다.

 

new 와  delete 에 대해서는 C++  클래스 부분 또는 C++SDK 문서에서 검색해 보시면 됩니다.

일단은 굳이 몰라도 됩니다. 개발은 모든걸 알려고 하면 피곤해집니다. 방대 하기도 하구요.

전체적인 구조를 이해하고 자잘한 함수들과 클래스들은 그때 그때 프로젝트에 필요한 것 들에

맞추어 찾아가면서 프로그램을 완성하는 식으로 접근하는게 좋습니다.

 

 

프로그램 구조

 

모든 C++ 그리고 자바 프로그램 구조들이 커피안에서 사용 될 수 있습니다.

중요한 키워드들의 리스트는 문서를 보시기 바랍니다.

 

코멘트

 

코멘트는 // 또는 /* */ 에 삽입 될 수 있습니다.

 

// 이것은 한줄 코멘트 입니다.

 

/*

이것도 코멘트 입니다.

하지만 여러줄 입니다.

*/

 

함수들

 

커피안의 함수들은 C++ 처럼 불리고 정의됩니다.

하지만 리턴하는 타입과 인수의 타입을 열거할 필요가 없습니다.

앞에서 모두 같은 타입을 사용한다고 설명한 이유 때문입니다.

그래서 편하게 코딩할 수 있습니다.

 

 myfunc (arguemnt1, argument2)

{

     // 할일들을 적습니다.

    return Value;

}

main(doc,op)

{

myfunc(3,4);

}


 

 

임의의 인수들을 가지는 특별한 함수를 쓸 수 도 있습니다.

인수의 갯수는 _arg(0) 으로 접근할 수 있습니다, 그리고 인수는

_arg(i) 로 접근할 수 있습니다. i 는 인덱스를 나타냅니다.

 

 myfunc(...)

{

    //인수의 갯수 얻기

    var argCount = _arg(0);

    println(argcount, " 인수의 갯수는 : ");

    var i;

    for(i=1; i<=argcount; i++)

    {

        println("      ",i,":    ",_arg(i));

    }

}

main(doc,op)

{

    myfunc("Hello","World","!");

}

 


오브젝트들 그리고 클래스들

 

객체지향 프로그래밍을 이해 하는 것은 효과적으로 SDK를 사용할 수 있게 하기 위해서 중요하다.

이 문서는 클래스와 객체의 개념에 대해서 설명하지는 않습니다., 그러나 커피를 사용하기 위한 문법은 보여줍니다.

뭔가를 놓치고 있다는 느낌이 든다면, C++ 또는 자바 책을 읽는 것은 좋은생각 입니다.

 

클래스들은 class 키워드에 의해서 선언됩니다. 만약 이미 이런 개념이 익숙하다면,

이 페이지 만으로 커피에서 클래스를 쓰는 것에 충분 할 것입니다.

다른점들은 앞으로의 내용을 더 읽어 보세요.


연구소

research

List of Articles
번호 분류 제목 글쓴이 날짜 조회 수
공지 Advanced Render GI의 시대는 도래하는가..(GI 랜더러 비교) 16 file .피. 2011.06.20 4519
공지 모델링 연구 [아이디어 모집] 비누방울(거품, 거품막) 만들기 8 file 길동 2011.03.08 4245
21 스크립트 연구 스크립트를 모아주세요 2 P. 2008.07.27 399
20 스크립트 연구 자동캐릭터 셋팅 스크립트.P_Rig ver.0.5 15 file P. 2008.07.27 923
19 스크립트 연구 OptiPoly _폴리곤오브젝트로 만드는 스크립트 15 file P. 2008.07.30 603
18 스크립트 연구 Examples 3 길동 2008.11.04 820
17 스크립트 연구 커피스크립트를 이용하여 간단한 카운트다운 애니메이션 만들기 14 file ChoiGeol 2008.11.06 839
16 스크립트 연구 부모 오브젝트 이름에 따라 자식 오브젝트 이름 변경하기 14 file ChoiGeol 2008.11.19 612
15 스크립트 연구 카메라 텐션 Xpresso입니다. 12 전우열 2009.02.28 1557
14 스크립트 연구 태양계 구현하기 (엑스프레소) 4 file 최걸 2010.10.16 301
13 스크립트 연구 이동거리에 따른 원통형물체의 회전 계산 4 file ElasticMind 2008.09.06 676
12 스크립트 연구 토네이도 구현 6 file ElasticMind 2008.09.06 891
11 스크립트 연구 자동차 서스펜션 구현 8 file ElasticMind 2008.09.06 1067
10 스크립트 연구 라이팅셋... 18 file 길동 2005.03.21 1116
9 스크립트 연구 XpressoDomeLighting 7 file 길동 2004.12.10 928
8 스크립트 연구 Cinema 4D XPresso Series 7 file 돌아온 길동 2008.10.01 985
7 스크립트 연구 COFFEE 스크립트 활용을 위한 팁 8 file ChoiGeol 2008.11.23 550
6 스크립트 연구 한 오브젝트를 다른 오브젝트의 포인트에 순차적으로 붙이기(COFFEE) file 최걸 2010.11.25 274
5 스크립트 연구 한 오브젝트를 다른 오브젝트의 포인트에 순차적으로 붙이기(Py4D) file 최걸 2010.11.25 375
4 스크립트 연구 트레이서구현 4 file ElasticMind 2008.09.06 806
3 스크립트 연구 auxetic 구조 XPresso 3 file 정석 2008.10.14 748
2 스크립트 연구 에스프레소를 모아주세요 3 P. 2008.07.27 720
목록
Board Pagination Prev 1 2 3 Next
/ 3