English 모듈

English 모듈

English 라이브러리 파일을 스크립트에 include하면, $_ 같은 전역 변수를 아래 나열된 덜 난해한 이름으로 참조할 수 있어요.

English를 쓰지 않을 때:

$\ = ' -- '
"waterbuffalo" =~ /buff/
print $', $$, "\n"

English를 쓸 때:

require "English"

$OUTPUT_FIELD_SEPARATOR = ' -- '
"waterbuffalo" =~ /buff/
print $POSTMATCH, $PID, "\n"

출처: Ruby 3.3 API

본문

설명적인 별칭과 그에 대응하는 전역 변수의 전체 목록이에요.

  • $ERROR_INFO$!
  • $ERROR_POSITION$@
  • $FS$;
  • $FIELD_SEPARATOR$;
  • $OFS$,
  • $OUTPUT_FIELD_SEPARATOR$,
  • $RS$/
  • $INPUT_RECORD_SEPARATOR$/
  • $ORS$\
  • $OUTPUT_RECORD_SEPARATOR$\
  • $INPUT_LINE_NUMBER$.
  • $NR$.
  • $LAST_READ_LINE$_
  • $DEFAULT_OUTPUT$>
  • $DEFAULT_INPUT$<
  • $PID$$
  • $PROCESS_ID$$
  • $CHILD_STATUS$?
  • $LAST_MATCH_INFO$~
  • $ARGV$*
  • $MATCH$&
  • $PREMATCH $`
  • $POSTMATCH$'
  • $LAST_PAREN_MATCH$+

$ 기호와 특수문자로 채워진 $', $' 같은 이름은 타이핑하기도 헷갈리고 그 의미도 잘 기억이 안 나기 마련이에요. 이 모듈을 쓰면 $POSTMATCH처럼 의미가 바로 드러나는 이름으로 같은 변수에 접근할 수 있어요. 특히 정규식 매치 결과나 프로세스 정보를 다룰 때 코드 가독성이 꽤 좋아져요.