루비 습작3 스트링의 개행문자 제거하기(String#chop!)

By | 2012/06/13

오늘은 바로 코드로 들어가보자.

def makeCode(var)
  puts "/home/www/conf/#{var}.properties"
  puts "/home/www/db/#{var}.data"
  puts "/home/www/xml/#{var}.xml"
end

x = gets

makeCode(x)

위의 루비코드는 별거 아니다. 그냥 코드 생성기다.
위의 코드를 실행하면 변수를 콘솔에서 받아온다.
그런데 문제가 하나 있는것이 엔터키로 변수를 받아오기에 #{var} 뒤에 꼭 \n이 붙어서 온다.
실행하면 아래와 같이 변수뒤에 개행이 들어가는데, 아주 신경쓰인다.

/home/www/conf/test
.properties
/home/www/db/test
.data
/home/www/xml/test
.xml

어차피 가장뒤에 있는 문자가 ‘\n’으로 달려오니 이걸 삭제해주면 될것 같다.
찾아보니 역시나 있구만..ㅎ

  var.chop! 

String#chop! 이라는 녀셕을 사용해서 해결했다.
문자열의 가장뒤에 있는 문자를 삭제해주는 메서드인데,
아마도 이런용도로 쓰라고 만든거라는 생각이 든다.

자세한 것은 역시나 루비의 레퍼런스를 참고하자.
http://ruby-doc.org/core-1.9.3/String.html#chop-method

변경된 소스는 다음과 같다.

def makeCode(var)
  var.chop!  
  puts "/home/www/conf/#{var}.properties"
  puts "/home/www/db/#{var}.data"
  puts "/home/www/xml/#{var}.xml"
end

x = gets

makeCode(x)