http://www.troubleshooters.com/codecorn/ruby/symbols.htm

지금까지 루비, 특히 레일즈에서 사용되는 심볼을 어렴풋하게나마 이해하고 있었는데, 위의 링크의 내용을 읽어 보고 루비의 심볼에 대한 확실한 개념을 알게 되었다.

1. 심볼은 integer나 string으로 변환될 수 있다. 그러나 심볼이란 string으로 대신해서 사용할 수 있는 상수(constant)와 같은 것이지만 같은 String을 반복해서 사용할 때처럼 메모리를 소모하지 않아 메모리 절약에 도움이 될 수 있다. 동일한 심볼을 수천번 반복에서 코딩에 사용해도 심볼값은 하나의 주소값만을 가진다.

2. 심볼은 런타임때 값을 변경할 수 없다.(immutable)

3. 심볼은 .to_i 나 .to_s 메소드를 이용해서 의미없는 공유의 정수값이나 심볼이름과 같은 문자열을 간접적으로 얻을 수 있지만, 심볼 자체로는 String객체의 그 많은 메소드들을 사용할 수 없다. 왜냐하면 심볼은 Symbol 객체이기 때문이다.

레일즈 개발환경은 참으로 살아 숨쉬는 그야말로 개발자로 하여금 지속적으로 공부하게 만드는 것 같다.

레일즈는 개발자 환경을 향상시키기 위해서 모든 역량을 다함에 틀림없다.

아마도 레일즈 3.1 베타1 버젼에는 누락되었지만, 3.1 릴리스 버젼에서는 틀림없이 추가될 것으로 생각된다. Coffee-script와 Coffeebeans. 아예 커피와 이름을 연관지으면서 그들의 개발언어의 연계성을 멋지게 만들어 가고 있다.

어쨌던 레일즈는 점점 더 재밌어 진다.

RubyAMP is a TextMate bundle that makes you more productive in editing, navigating, and debugging Ruby code. Now you can easily:

  • auto-complete from all open tabs
  • jump to a method, class, or fixture named under the cursor
  • start the debugger on a series of RSpec examples and break at the current line
  • inspect by highlighting to evaluate to tooltip or clipboard
  • fire up a Merb/Rails server or console for your current app
  • tail development.log