R 언어 정의 - 3.1.1 상수

R 언어 정의 - 3.1.1 상수

프롬프트에 입력한 숫자가 어떻게 상수로 평가되는지, 그리고 정수 상수를 만들 때 유용한 'L' 접미사 사용법을 알아볼게요. 단순해 보이지만 의외로 함정이 많으니 주의해서 봐요.

출처: 문서

본문

3.1.1 Constants (상수)

프롬프트에 숫자를 직접 입력하면 그 숫자는 상수로 취급되고 평가돼요.

> 1
[1] 1

어쩌면 예상과 다르게, 표현식 1이 반환하는 숫자는 numeric이에요. 대부분의 경우 integer와 numeric 값의 차이는 중요하지 않아요. R이 숫자를 사용할 때 알아서 제대로 처리해 주니까요. 하지만 명시적으로 정수 상수를 만들고 싶을 때도 있어요. 이럴 때는 as.integer 함수를 호출하거나 다른 여러 방법을 사용할 수 있어요. 그런데 아마 가장 간단한 방법은 상수에 접미사 문자 'L'을 붙이는 거예요.

예를 들어, 정수 값 1을 만들고 싶다면 이렇게 하면 돼요.

> 1L
[1] 1

어떤 숫자든 명시적으로 정수로 만들고 싶다면 'L' 접미사를 붙일 수 있어요. 그래서 0x10L은 16진수 표현으로부터 정수 값 16을 만들어 내요. 1e3L 상수는 numeric 값이 아니라 정수 1000을 주며, 1000L과 동등해요. 여기서 'L'은 1e3이라는 항을 수식하는 것으로 처리되지, 3을 수식하는 게 아니라는 점에 유의하세요.

만약 정수 값이 아닌 값에 'L'을 붙이면, 예를 들어 1e-3L, 경고가 발생하고 numeric 값이 생성돼요. 숫자에 불필요한 소수점이 있을 때도 경고가 발생해요. 예를 들어 1.L 같은 경우죠.

복소수에 'L'을 사용하면 문법 오류가 나요. 12iL은 오류를 발생시키죠.

상수는 꽤 단순해요. 더 다양한 작업을 하려면 기호(symbol)가 필요하답니다.

더 알아보기 (Learn more)

출처: R Language Definition - 상수(Constants)