2. ----------------------------------------------------------------
변수값 출력할때, #{a} 이렇게 #{} 사이에 변수명을 넣
어주면 된다.
x**y 는 x의 y승을 말함.
----------------------------------------------------------------
puts "a #{"값#{
# 주석
"은 #{a}"}"}"
----------------------------------------------------------------
3. ----------------------------------------------------------------
to_s. // 스트링으로 바꾸어줌.
----------------------------------------------------------------
instect. // 디버깅할때, 주로 사용함. p 메소드는, 매개
변수를 inspect한 결과를 출력.
----------------------------------------------------------------
Marshal.dump()
#oh! 한글 인코딩 확인 같은거 할때도, Mqrshal을 이
용해서 raw 데이터를 보면 쉽게 볼수있겠군. ㅇㅇ
----------------------------------------------------------------
10. ----------------------------------------------------------------
story = <<EOS
Solomon Grunday,
Born on Monday,
Christened on Tuesday,
Married on Wednesday.
EOS
p story[0],story[1]
p story[-1]
p story[8,6] //8부터 6개,
p story[8...14] //8에서 14까지 ?? ...?
p story['Monday']
p story[/w+sday/] // w 영문자+_
11. story['Monday']='grace'
//오잉? string이 어떻게 관리되는거지? C언어 같은 경우에는,
배열로 한줄로 관리되는데, 중간값이 바뀌어도 되네.
테스트 1. 엄청 큰값을 바꿔볼까? 성능테스트.
2. 관리되는 방식을 소스를 열어서 확인해볼까?
3. .class로 새로운 클래스가 생기는건지 확인해볼수
있으려나?.? 스트링의 아이덴티티를 나타내는게 있으려나?
p story['Monday']
p story
----------------------------------------------------------------
12. ----------------------------------------------------------------
story = story.gsub(/M/,"###")
story = <<EOS
Solomon Grunday,
Born on Monday,
Christened on Tuesday,
Married on Wednesday.
EOS
story.gsub(/(w+?)day/) { "#{$1}" }
----------------------------------------------------------------
20. ----------------------------------------------------------------
1.8버전에서는, 여러가지가 다르더라. 우린 1.8 안쓸꺼니까 그냥 알고 넘어가자!
p "가나다".length
str = "xe6x97xa5xe6x9cxacxe8xaax9e"
$KCODE 값을, 'NONE' , 'SJIS', 'EUC', 'UTF8' 등으로 바꿀 수 있음.
정규표현에서 사용할때는 90p를 봐라!
인코딩이 다르면, 같은 문자열이라 하더라도 비교 결과가 달라진다.
(대소관계는 단순히 1바이트씩 비교해보는 알고리즘으로 짜여있음.)
1.8버전 끝!
----------------------------------------------------------------