연재할 듯 글을 시작했으나 연재하지 않고 있습니다. (…)
이름 이쁜 프로그래밍 언어 루비. 루비 온 레일즈가 각광 받는데 궁금해서 전부터 배우고 싶었던 언어였고, 휴가를 이용해 배워보려고.
루비를 일단 설치해야 하는데 RoR이 최종 목표이므로 RoR 사이트(http://rubyonrails.org/)에서 win32 installer를 다운받아 설치하였다.
cmd를 시작 > 실행 해서 ruby를 실행하면 시스템변수로 선언이 안되어 있기에 당연히 안되고 그 설정 부분을 찾다찾다 보니까 별도의 설정이 아니라 Start Command prompt with Ruby를 이용해서 사용하면 되는 것이었다. 그것도 모르고 삽질을 ;ㅅ;
몇분 만에 블로그 만들기라는 이름으로 유명했던 RoR 튜토리얼 보고 해보려다가 rake db에 막혀서(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