본문 바로가기

Programming/C#/Xna/Kinect/WPF

[Luainterface] C#에서 루아 사용하기

사용법을 정리해보려고 했지만 너무 쉬워서 의미가 없어 보임. (그리고 인터넷에 다 있음.) 간단히 레퍼런스 링크들만 정리해본다.



C++에서 개발할 때는 이제 아주 당연하게 lua를 쓰고 있다. 얼마전에 Direct2D 써서 만들었던테스리스도 config나 블럭 정의 같은 부분은 모두 루아로 만들었다. 이게 버릇이 되다 보니 C#에서 뭔가를 만들어보려고 해도 lua 환경이 그리워졌다. C#은 빌드할때 시간이 안 걸려서 C++만큼 답답하지는 않지만 그래도 간단한 변수 하나 바꿀 때마다 프로그램을 껐다 켜야 하는 건 곤욕이다.


처음에는 C#프로젝트에서는 파워쉘이 루아의 자리를 대체할 수 있지 않을까 생각했다. 닷넷에 친화적인 물건이고, 쉘 방식 인터페이스로 닷넷의 함수들을 직접 호출하고 제어할 수 있으니까, 잘만 이어 붙이면 C++에 루아를 임베딩하는 것처럼 사용할 수 있지 않을까 하는 생각을 했다. 잠깐 살펴봤지만 방법이 아주 없는 것은 아니다. 

( http://msdn.microsoft.com/en-us/library/ms569889(v=VS.85).aspx 

http://blogs.msdn.com/b/saveenr/archive/2010/03/08/how-to-create-a-powershell-2-0-module-and-cmdlet-with-visual-studio-2010-screencast-included.aspx 


파워쉘 스크립트 파일을 읽어 들여서 실행할 수도 있고, 대화형 인터프리터를 만들 수도 있지만.. 공부할 것도 많고 좀 복잡해 보임.. (사실 파워쉘이 이러라고 만든 물건이 아니라 좀 어거지로 밀어 넣는 느낌이 드는 것이다. 관리를 위한 툴이니까…)


근데 괜히 쉬운 길을 돌아갈 뻔 했다. 루아를 그냥 C#에서도 쓸 수 있다. 위에 정리해둔 링크를 조금 보면 느끼겠지만 붙이기도 쉽고 쓰기도 쉽다. 디테일한 사용법은 도큐먼트에 자세하게 나와있다. C# 스럽게 아주 깔끔한 인터페이스를 제공한다.



역시 듣던대로 C#은 어지간하면 손 안대고 코풀 수 있구나. 
LinqToJson 모듈만 추가로 하나 구하면 이것들로 꽤 재미있는 프로젝트를 해볼 수 있을 것 같다 :)


http://devnote.tistory.com/191


'Programming > C#/Xna/Kinect/WPF' 카테고리의 다른 글

[C#] 컴파일러와 dll파일  (0) 2012.11.20
[C#] ListView에서 Tag의 활용  (0) 2012.11.15
[C#] Cross Thread 처리방법  (0) 2012.11.12
[XNA] Framework의 기본 Logic흐름도  (0) 2012.10.23
[C#] Dictionary (Map) 예제  (0) 2012.10.23