루비(Ruby) 입문 #1

연재할 듯 글을 시작했으나 연재하지 않고 있습니다. (…)


이름 이쁜 프로그래밍 언어 루비. 루비 온 레일즈가 각광 받는데 궁금해서 전부터 배우고 싶었던 언어였고, 휴가를 이용해 배워보려고.

루비를 일단 설치해야 하는데 RoR이 최종 목표이므로 RoR 사이트(http://rubyonrails.org/)에서 win32 installer를 다운받아 설치하였다.

cmd를 시작 > 실행 해서 ruby를 실행하면 시스템변수로 선언이 안되어 있기에 당연히 안되고 그 설정 부분을 찾다찾다 보니까 별도의 설정이 아니라 Start Command prompt with Ruby를 이용해서 사용하면 되는 것이었다. 그것도 모르고 삽질을 ;ㅅ;

몇분 만에 블로그 만들기라는 이름으로 유명했던 RoR 튜토리얼 보고 해보려다가 rake db:create에 막혀서(sqlite3이 기본 db인데 어떻게 연결해야 하는지도 모르겠고;;) 루비 20분 가이드(http://www.ruby-lang.org/ko/documentation/quickstart/) 먼저 봤다. 베이직 언어 비슷한 느낌이 들지만 상당히 간편하고 개발 언어의 장점을 모아놓은 느낌. 뭐 튜토리얼 보고서 그런걸 한번에 알 순 없지만;;

20분 가이드의 결과물.

#!/usr/bin/env ruby

class MegaGreeter
  attr_accessor :names

  # Create the object
  def initialize(names = "World")
    @names = names
  end

  # Say hi to everybody
  def say_hi
    if @names.nil?
      puts "..."
    elsif @names.respond_to?("each")

      # @names is a list of some kind, iterate!
      @names.each do |name|
        puts "Hello #{name}!"
      end
    else
    puts "Hello #{@names}!"
    end
  end

  # Say bye to everybody
  def say_bye
    if @names.nil?
      puts "..."
    elsif @names.respond_to?("join")
      # Join the list elements with commas
      # 독특한 처리 방식, 값이 여럿(array인진 모르겠음;) 들어있으면 join이란 method가 생성
      # 이게 뭐 루비가 가지는 특성인 모양.
      puts "Goodbye #{@names.join(", ")}.  Come back soon!"
    else
      puts "Goodbye #{@names}.  Come back soon!"
    end
  end

end

if __FILE__ == $0
  mg = MegaGreeter.new
  mg.say_hi
  mg.say_bye

  # Change name to be "Zeke"
  mg.names = "Zeke"
  mg.say_hi
  mg.say_bye

  # Change the name to an array of names
  mg.names = ["Albert", "Brenda", "Charles",
    "Dave", "Englebert"]
  mg.say_hi
  mg.say_bye

  # Change to nil
  mg.names = nil
  mg.say_hi
  mg.say_bye
end
김용균

안녕하세요, 김용균입니다. 문제를 해결하기 위해 작고 단단한 코드를 작성하는 일을 합니다. 웹의 자유로운 접근성을 좋아합니다. 프로그래밍 언어, 소프트웨어 아키텍처, 커뮤니티에 관심이 많습니다.

이 글 공유하기

이 글이 유익했다면 주변에도 알려주세요!

페이스북으로 공유하기트위터로 공유하기링크드인으로 공유하기Email 보내기

주제별 목록

같은 주제의 다른 글을 읽어보고 싶다면 아래 링크를 확인하세요.

August 13, 2011

선선해진 제주

오늘이 말복, 마지막 더위라고 지나가니 선선한 날씨가 반깁니다. 이번 가을 좋은 날씨에 집중해서 좋은 성과를 남겨야지 하는 마음이 생기네요. 남은 한 해의 목표를 정하고 다시 시작하는 기분으로, 2011년을 보람차게 마무리했단 글을 남길 수 있도록 …

August 09, 2011

cafe24 서버 호스팅 구입 후 기본 세팅 과정

cafe24에서 서버호스팅을 결제한 후 세팅한 과정에 대한 글로 기본적인 세팅 과정에 대해 기록했다. cafe24에서 서버호스팅 구입 시 안내에는 centOS, ubuntu, fedora 등 원하는 OS로 설치해준다고 하여 Ubuntu server로…