Compiler — 사용 중인 컴파일러 정보

Compiler — 사용 중인 컴파일러 정보

지금 코드를 실행하는 컴파일러가 어떤 버전이고 어떤 백엔드인지 궁금할 때가 있어요. Compiler는 그런 컴파일러 관련 정보를 제공하는 내장 클래스입니다.

출처: Raku 공식 문서 — Compiler

본문

class Compiler does Systemic {}

컴파일러 관련 정보를 제공하는 내장 클래스예요. 보통 $*RAKU 동적 변수의 compiler 속성으로 접근합니다.

say $*RAKU.compiler; # OUTPUT: «rakudo (2020.02.16.g.28.bd.4247.a)␤»

참고: Rakudo 릴리즈 2020.1 이전에는 $*PERL 동적 변수의 compiler 속성으로만 접근할 수 있었어요. Rakudo 릴리즈 2020.1부터는 $*RAKU$*PERL 양쪽 변수에서 사용할 수 있습니다.

메서드

method id

긴 16진수 문자열인 고유 식별자를 반환해요.

method release

비어 있지만, 특정 릴리즈에 대해서는 릴리즈 번호를 담을 수 있어요.

method codename

비어 있지만, 특정 릴리즈에 대해서는 코드네임을 담을 수 있어요.

method backend

method backend()

Rakudo 릴리즈 2020.02부터 컴파일러의 백엔드 이름을 반환해요.

method build-date

method build-date()

Rakudo 릴리즈 2019.03.1까지는 빌드된 날짜를 반환했어요.

say $*PERL.compiler.build-date; # OUTPUT: «2018-05-05T21:49:43Z␤»

method verbose-config

method verbose-config(:$say)

$sayTrue면 컴파일러 설정에 포함된 항목들을 출력하고, 그렇지 않으면 같은 정보를 담은 Hash를 반환해요.

say $*RAKU.compiler.verbose-config; # OUTPUT: «distro::auth=https://www.opensuse.org/␤distro::desc=2018-05-06T09:19:17.571307+02:00␤» ... 그리고 나머지 설정

더 보기: Systemic