언어 객체
언어 객체 (Language objects)
R 언어를 구성하는 객체의 세 가지 유형에 대해 알아볼게요. 이 객체들은 각각 어떤 역할을 하고, 어떻게 만들고 변환하는지 함께 살펴봐요.
출처: 문서
본문
2.1.3 Language objects
R 언어를 구성하는 객체에는 세 가지 유형이 있어요. 바로 호출(call), 표현식(expression), *이름(name)*이에요.
R에는 "expression" 타입의 객체가 있으므로, 다른 맥락에서는 expression이라는 단어를 피하도록 할게요. 특히 문법적으로 올바른 표현식은 *문장(statement)*이라고 부를게요. 이 객체들은 각각 모드(mode)가 "call", "expression", "name"이에요. quote 메커니즘을 통해 표현식에서 직접 만들 수 있고, as.list와 as.call 함수를 사용해 리스트와 서로 변환할 수 있어요.
파스 트리(parse tree)의 구성 요소는 표준 인덱싱 연산으로 추출할 수 있어요.
심볼(symbol)은 R 객체를 가리켜요. R 객체의 이름은 보통 심볼이에요. 심볼은 as.name과 quote 함수로 만들 수 있고, 모드(mode)는 "name", 저장 모드(storage mode)는 "symbol", 타입(type)은 "symbol"이에요. as.character와 as.name을 사용하면 문자열과 서로 변환할 수 있어요.
심볼은 파싱된 표현식에서 원자(atom)로 자연스럽게 나타나는데, 예를 들어 as.list(quote(x + y))를 직접 실행해 보면 확인할 수 있어요.