본문 바로가기

Development

루비가 쿨한 이유 2 - 블록 이글은 황대산님의 블로그에서 복사한 글입니다. [참고: 이 글은 루비가 쿨한 이유 1 - irb에 이어지는 시리즈임.] 블록을 처음 접한 사람은 조금 당황하게 마련이다. 자바나 C 등의 기존 언어에서는 전혀 볼 수 없었던 기능이기 때문이다. 조금 새롭겠지만 정말로 강력하고 편리한 기능이므로 심호흡을 가다듬고 꼭 읽어보시길. 프로그래밍을 하다보면 배열의 내용물을 차례차례 하나씩 처리해야 하는 경우가 늘상 있다. 이런 경우에 자바와 같은 언어에서는 다음처럼 for 루프를 쓰는게 보통이다. import java.util.*; class PrintArray { public static void main(String[] argv) { String[] arr = {"mike", "nancy", "john", "ca.. 더보기
루비가 쿨한 이유 1 - irb 이글은 황대산님의 블로그에서 복사한 글입니다. [참고: 루비를 설치하고 읽으면 예제를 따라해 볼 수 있음. 루비가 무엇인지 궁금하다면 여기를 읽어 볼 것.] 루비는 스크립트 언어이다. 스크립트 언어에는 인터랙티브 인터프리터가 같이 제공되는 경우가 많은데 알고 보면 이처럼 편리한 도구가 없다. 루비의 인터랙티브 인터프리터는 irb[1]라 불리는 프로그램이다. irb는 유닉스의 쉘이나 윈도우의 도스와 여러모로 비슷하다. 윈도우를 사용한다면 도스(명령 프롬프트) 창을, 리눅스나 맥 OS X를 사용한다면 터미날 창을 띄우고 irb를 실행시켜 보자. c:\> irb irb(main):001:0> 두번째 줄에서 보여지는 것은 irb 프롬프트이다. irb 프롬프트에 루비 코드를 입력하고 엔터를 누르면 입력한 코드가 .. 더보기
3. 루비 설치하기 이글은 황대산님의 블로그에서 복사한 글입니다. (사라질까 두려워 복사합니다) 3. 루비 설치하기 3.1 루비는 어떤 운영체제를 지원하나요? 루비는 Unix/Linux, Mac OS X, 윈도우 95/98/NT/2000/XP, DOS, BeOS, Amiga, Acorn Risc OS, 그리고 OS/2 등을 지원합니다. 루비의 개발은 Linux 환경에서 C 언어로 이루어지고 있습니다. 3.2 루비 소스코드는 어디서 다운로드 받을 수 있나요? 루비의 소스코드는 여기에서 다운로드 받을 수 있습니다. 루비의 현재 릴리즈 버전은 1.8.6입니다. 루비의 최신 개발 버전을 다운로드 받으려면 이곳을 참고하세요. 루비의 패키지 관리자인 루비젬은 이곳에서 다운로드 받을 수 있습니다. 3.3 루비의 컴파일 방법을 알려 주세.. 더보기
2. 다른 언어와의 비교 이글은 황대산님의 블로그에서 복사한 글입니다. (사라질까 두려워 복사합니다) 2. 다른 언어와의 비교 2.1 Python과의 비교 Python은 여러 면에서 루비와 라이벌 관계에 있는 언어입니다. Python과 루비는 둘 다 객체지향 해석형 언어이나 몇 가지 부분에 있어 다른 접근 방법을 취하고 있습니다. 둘간의 가장 커다란 차이점은 루비는 순수 객체지향 언어이나 Python은 하이브리드형 객체지향 언어라는 점입니다. 흔히들 루비는 Python보다 마케팅에 있어 더 성공적이었다고 평가합니다. 2005년 12월에 루비 책의 판매량이 Python을 제쳤다는 발표가 있는 등 현재로서는 루비쪽에 더 모멘텀이 있어 보이는 상황입니다. 2.2 Perl과의 비교 루비는 원래 더 나은 Perl을 지향점으로 설계된 언어.. 더보기
1. 일반 질문 이글은 황대산님의 블로그에서 복사한 글입니다. (사라질까 두려워 복사합니다) 1.일반 질문 1.1 루비는 어떤 프로그래밍 언어인가요? 루비는 간결하면서도 강력한 순수 객체지향 언어입니다. Yukihiro Matsumoto(Matz)에 의해 1993년에 처음 만들어 졌지요. 루비는 다른 프로그래밍 언어의 영향을 많이 받았습니다. SmallTalk로부터 순수 객체지향성, 다이내믹 타이핑, 자동 메모리 관리(Garbage Collection), 블록 등의 기능을 물려 받았고, Perl의 텍스트 처리 기능을 물려 받았으며, Lisp으로 부터는 메타 프로그래밍, 컨티뉴에이션 등의 기능을 물려 받았지요. 루비의 최대 장점은 프로그래머가 루비가 지원하는 기능을 최대한 사용하기 편리하게 디자인되었다는 것입니다. Mat.. 더보기