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처럼 의미가 바로 드러나는 이름으로 같은 변수에 접근할 수 있어요. 특히 정규식 매치 결과나 프로세스 정보를 다룰 때 코드 가독성이 꽤 좋아져요.