Ruby 변수 관련 정리

Posted by 엘키의 주절 주절 on May 14, 2013

변수 접두어

  • 루비는 C언어등과 다르게, 접두어가 변수의 종류를 구분 짓는다.
  • 아래는 변수를 구분 짓는 접두어를 의미한다.
  • 내 네이밍 규칙에 따르면 모든 변수를 상수로 만드는데, 루비의 접두어 룰로 인해 나도 네이밍 습관을 루비에선 따로 쓸 수 밖에 없었다.
기호 의미
$ 전역 변수
@ 인스턴스 변수 
@@ 클래스 멤버 변수
a-z_ 지역 변수
A-Z 상수

전역 변수

  • 루비에서 미리 정의해두고, 스크립트 작성에 도움이 되게 지원하는 변수들입니다.
  • 적절히 사용하시면 아주 유용합니다!
기호 의미
$! 마지막 에러 메시지
$@ 에러 위치
$_ 가장 최근에 gets로 읽은 문자열
$. 코드의 줄 번호
$& regexp로 마지막에 매칭된 문자열
$~ the last regexp match, as an array of subexpressions
$n n번째로 매칭된 문자열
$= case-insensitivity flag
$/ input record separator
$\ output record separator
$0 실행 프로그램 이름
$* 명령 행 인자들
$$ 프로세스 아이디
$? 최근 실행한 자식 프로세스의 종료 번호
ARGV[n] n 번째 명령 행 인자
$DEBUG 디버깅 메시지 -d를 키면 활성화
$stderr 표준에러
$stdin 표준입력
$stdout 표준출력
$: 스크립트가 로드한 모듈 이름들
ENV 시스템 환경 변수를 저장하고 있는 해쉬. 환경 변수 값을 변경할 수 있으며, 변경사항은 해당 프로세스 와 자식 프로세스에만 반영된다.