최근 Coursera에서 Scala를 만든 Martin Odersky의 Functional Programming Priciples in Scala 강의를 듣고 있는데 여기에 학습전에 툴의 사용법에 대한 가이드가 나온다. 이 가이드를 보다가 Scala IDE 2.1.0 Milestone 2(2.10.0-M7)부터 Worksheet라는 멀티라인 REPL이 추가되었다는 것을 알게 되었다. Worksheet는 보자 마자 깜짝 놀랄정도로 REPL과 IDE를 잘 조합된 기능이라고 생각하는데 개발을 할때 무척 유용하게 사용할 수 있다. REPL을 가진 언어를 사용하는 개발자라면 보통 기능 확인이나 간단한 코드실행 테스트를 REPL에서 하게 되는데(때로는 계산기로...) Worksheet는 에디터내에서 REPL을 바로 사용할 수 있는 좋은 기능이다.
Worksheet 생성
최신 버전의 ScalaIDE를 설치하면 Worksheet를 사용할 수 있다.(이전 버전을 테스트해보진 않았지만 2.10.0-M7 이상이어야 지원될것 같다.) [New] - [Scala Worksheet]를 선택하면 Worksheet를 생성할 수 있다. 프로젝트에서 원하는 경로에서 New를 해도 동일하다.

다음과 같이 Worksheet 파일을 생성할 위치를 지정해야 한다. 워크시트가 꼭 프로젝트에 포함되어야 할 필요는 없지만(보통은 테스트일 것이므로) 이클립스가 프로젝트 기반이기 때문에 반드시 특성 프로젝트의 경로에 포함되게 생성해야 하는듯 하다.

위처럼 파일명을 입력하면 Worksheet 파일이 새로 생성된다.
Worksheet 사용
파일을 처음 생성하면 다음과 같이 지정한 파일명의 object로 인사문구가 출력되고 그 우측에 그 결과가 출력된다.

사용법이 어렵지는 않으므로 화면만 봐도 어떤 기능인지 알 수 있을 것이다. 코드를 입력하고 저장을 하면 바로 라인별로 평가를 해서 우측에 그 결과를 출력해 준다.

위처럼 코드를 여러줄에 작성해도 라인별로 알아서 평가를 해준다. REPL의 경우에는 보통 터미털환경이라서 사실 긴 코드를 테스트하거나 긴 코드를 계속 수정하면서 사용할 때는 불편한 점이 있는데 Worksheet는 IDE 환경이기 때문에 이러한 불편이 없고 원하는 함수만 맘껏 확인해 본다음에 그대로 복사해서 소스에 사용하는 등으로 사용할 수 있다. 다만 저장할 때마다 첫 라인부터 매번 평가를 다시하기 때문에 파일이 너무 길어지거나 작업량이 많아지면 좀 느려질 수도 있다. 간단한 기능이지만 누가 만들었는지 아이디어 최고다.
Comments