Ruby: 두 판 사이의 차이

잔글편집 요약 없음
(결과 추가)
22번째 줄: 22번째 줄:
puts "Hello, World!"
puts "Hello, World!"
</source>
</source>
결과:
<pre>Hello, World!</pre>
puts가 어떤 속하지 않은 함수같지만 실은 Kernel이라는 모듈에 속한 메소드이다.
puts가 어떤 속하지 않은 함수같지만 실은 Kernel이라는 모듈에 속한 메소드이다.


30번째 줄: 32번째 줄:
end
end
</source>
</source>
<pre>리호코는 귀엽구나!
리호코는 귀엽구나!!
리호코는 귀엽구나!!!</pre>

2015년 5월 3일 (일) 16:42 판

루비는 간결함과 생산성을 강조한 동적인 오픈 소스 프로그래밍 언어입니다. 루비의 우아한 문법으로 자연스럽게 읽히고 쓰기 편한 프로그램을 만들 수 있습니다. - 루비 공식 누리집

Ruby는 범용 프로그래밍 언어 가운데 하나로 마츠모토 유키히로가 설계하고 개발하였다. 동적이고, 객체 지향적인 스크립트 언어로 펄보다 진중하고 파이썬보다 객체적인 언어를 목표로 설계되었다. 펄과 스몰토크, 아이펠, 에이다, 리스프 등에 영향을 받았으며 주로 웹 서비스 개발에 쓰이고 있다. 루비를 사용하는 웹 서비스로는 카카오톡, GitHub, Discus 등이 있으며 Twitter는 초기에 Ruby를 사용하다 현재 Scala로 전향하였다. 루비로 짠 대표적인 프로그램으론 homebrew가 있으며 프레임워크로는 Ruby on Rails, Sinatra 등이 있다. 어째 대부분 웹과 관련한 것 같은데...

특징

루비는 다중 패러다임 언어로 다음과 같은 특징을 동시에 지닌다:

  • 완전 객체 지향
  • 동적 자료형, 오리 자료형을 사용한다.
  • 독특한 참/거짓 판별 (다른 언어와 다르게 0이 false가 아니다.)
  • 언어 확장이 편리하여 메타 프로그래밍이 쉽다.

코드의 외형으로 보았을 때 눈에 띄는 특징은 다음과 같다.

  • 세미콜론이 없다.

명시적으로 사용할 수는 있으나 한 줄에 다 적으려 하지 않는 이상 굳이 쓰지 않는다.

  • 중괄호({, }) 대신 do, end를 이용하여 블록을 만든다.

한 줄에 적을 때는 중괄호를 쓰나 그 외엔 do, end 를 쓰는 것이 관례이다.

  • 메소드를 호출할 때 괄호를 생략할 수 있다.
  • 1, 2와 같은 숫자나 문자열 역시 클래스라 메소드를 갖고 있다.

예시

Hello, World!

puts "Hello, World!"

결과:

Hello, World!

puts가 어떤 속하지 않은 함수같지만 실은 Kernel이라는 모듈에 속한 메소드이다.

반복문

3.times do |i|
  puts "리호코는 귀엽구나" + "!" * ( i + 1 ) 
end
리호코는 귀엽구나!
리호코는 귀엽구나!!
리호코는 귀엽구나!!!