본문 바로가기

Ruby on Rails

MSX베이직(?)에는 없던 해쉬란 놈

중학교 시절에 하던 MSX베이직이나 그 후에 해본 포트란, 코볼에는 없는 개념들이 그 후의 고급언어에 여러 가지가 생겨났다

그런 것들이 프로그램을 다시 시작하는데에 큰 벽이 되어 왔었다.
C에 있다는 포인터라는 것이 악명이 높았던것 같고, 클래스니 메소드니 인스턴스니하는 것들이 그랬다.

그런 놈들 중에 해쉬라는 것도 있다. 이건 지난번 사이트를 할 때도 프로그래밍 하는 친구 한테 이야기를 들어서 배열과 비슷한 것이라는 것만 알고 있었는데 오늘에야 그 용법을 (물론 루비에서의 용법이지만 ) 어느 정도 알게 된 듯하다.

초보의 입장에서 보면 이 해쉬란 놈은 가리워진 부분이 너무 많다.
키와 그에 해당하는 값으로 이루어진 일종의 배열이라는데 처음엔 그 용법을 알기가 어려웠다.

codeway 류종택님의 동영상 강의를 보다가 해쉬가 나왔는데 용법이 영 감이 안와서 중간에도 해쉬의 값들을 다 프린트 해보니 대충 감이 온다.  조~ 아래에 있는 텍스트 화일을 받아들여 투표 결과를 집계하는 프로그램이다.


이렇게 프린트를 일일이 하여 중간에 값이 어떻게 바뀌어 가는지 보는 것도 프로그램을 공부하는데 큰 도움이 되는것 같다.

원래 강의의 코드와 좀 다른것은 line 이나 key value 등의 변수(?)인지 파라메타인지 뭐라 부를지 모를 저것들의 이름들은 일부러 바꿔봤다.
왜냐하면 코드상에 단어들이 예약어 인지 변수로써 임시로 쓰는건지 당췌 감이 안오기 때문이다.
저렇게 문법에 틀리게 써도 돌아가는 거보면 예약된 단어는 아닌가보다 --;

string 조작하는 메소드 중에 문장 중의 공백을 없애 주는 것이 strip이란다.
강의 동영상에는 chomp를 썼었는데 그건 개행문자들을 없애 주는 것이라 내가 실수로 넣은 공백을 없애 주지 못해서 김성수와 김성수뒤에 공백하나 붙은 가상의 인물이 투표에 나선 꼴이 되길래 바꿨다.