페이지 트리
메타 데이터의 끝으로 건너뛰기
메타 데이터의 시작으로 이동



목차

Ruby 소개


  • Ruby는 10년 전 일본에서 만들어진 범용 스크립팅 언어
  • 순수한 객체 지향 언어
  • 자바와는 다르게 Ruby에는 스칼라가 없다. 따라서 정수를 비롯하여 모든 것이 1급 객체
  • Ruby의 신택스는 Smalltalk, Python, Ada에서 많은 부분 빌려왔다.
  • 자바와 마찬가지로 Ruby는 상속 언어이지만 자바 보다 더 나은 기능을 제공 (closures와 mix-ins 가 그 예이다.)
  • Ruby는 인터프리디드 언어이고 동적 유형화(dynamic typing)가 적용되기 때문에 런타임 시 모든 종류의 트릭이 가능
  • 동적 유형화와 표출적인 신택스(expressive syntax)로 인해, Ruby에서는 도메인 스팩의 언어를 구현하여 언어의 "미가공" 신택스에서 벗어나 고급 추상화 레벨에서 작업할 수 있다.
    • Ruby on Rails 웹 애플리케이션 구현 프레임웍이 바로 그 예
    • Ruby 버전의 Make와 Ant가 하나로 합쳐진 Rake도 한 예

Ruby 프로그래밍 가이드



Ruby Progamming 시작하기


프롬프트에서 실행
% ruby
puts "Hello, world!"
^D
Hello, world!

Ruby 파일 실행하기

  • myruby.rb 파일을 아래와 같이 생성
    myruby.rb
    #!/usr/local/bin/ruby -w
    
    puts "Hello, World!"
    
  • 명령 프롬프트에서 아래와 같이 실행
    % ruby myruby.rb
    

Ruby Class


  • Ruby 클래스 선언 및 사용방법

Ruby 클래스 선언

MyClass.rb
#!/usr/local/bin/ruby
class Song
  def initialize(name, artist, duration)
    @name     = name
    @artist   = artist
    @duration = duration
  end

  def to_s
    "Song: #{@name}--#{@artist} (#{@duration})"
  end
end

aSong = Song.new("Bicylops", "Fleck", 260)
aSong.to_s
  • 테스트 결과
    > ruby MyClass.rb
    "Song: Bicylops--Fleck (260)"
    
MyClass2.rb
#!/usr/local/bin/ruby
class Greeter
   def initialize(name = "World")
     @name = name
   end
   def say_hi
     puts "Hi #{@name}!"
   end
   def say_bye
     puts "Bye #{@name}, come back soon."
   end
end

g = Greeter.new("Pat")
g.say_hi
g.say_bye
  • 테스트 결과
    > ruby MyClass2.rb
    Hi Pat!
    Bye Pat, come back soon.
    

Namecard.rb
class NameCard
  def name
    @name
  end
  def email
    @email
  end
end
aNameCard.name
aNameCard.email
  • 테스트 결과

    > ruby Namecard.rb
    Kim
    kim@noexits.com

Ruby 클래스 상속

Companycard.rb
class CompanyNameCard < NameCard
  def initialize(name, email, company)
    super(name, email)
    @company = company
  end
end

aCompanyNameCard = CompanyNameCard.new("Jang","jang@some.com", "some")
print aCompanyNameCard
  • 테스트결과

    > ruby Companycard.rb
    Name: Jang--Email: jang@some.com

Ruby 다운로드

Ruby 관련사이트



공식사이트

영문 사이트

http://rubyforge.org/

한글 사이트

http://www.ruby-lang.org/ko/

공식 사이트 다운로드

http://rubyinstaller.rubyforge.org/wiki/wiki.pl

인터넷 기술문서

Programming Ruby - The Pragmatic Programmer's Guide

온라인 도서

Ruby 20분 가이드

공식사이트의 20분 퀵가이드

Eclipse용 Ruby Development Tools (RDT)

Eclipse에서 Ruby 개발환경 구축

이클립스를 이용한 쉬운 루비 개발

Aptana RadRails(=RDT) V1.0.3에 대한 추가 설명

하위페이지

  • 레이블 없음