상세 컨텐츠

본문 제목

AutoLISP의 문자열 함수

IT & Programming/LISP 공부

by 그림아이 2021. 12. 23. 08:00

본문

반응형

이번 기사에서는 AutoLISP의 문자열 함수에 대해 설명합니다.

유저에게의 메세지 작성이나, 취득한 치수치의 처리 등 폭넓은 용도가 있는 함수입니다.

사용 예를 섞어 설명하고 있으므로, AutoCAD를 효율화하고 싶은 분은 꼭 봐 주세요.

 

숫자⇒문자열 변환: itoa/rtos

itoa와 rtos는 숫자를 문자열로 변환하는 함수입니다.

특히 itoa는 정수 를 문자열로, rtos는 실수 를 문자열로 변환합니다.

rtos는 인수 설정에 따라 변환되는 문자열의 표기법을 변경할 수 있습니다.

구문

(itoa 숫자)

(rtos 숫자 [모드 [정확도]])

인수 설명

itoa의 경우
  • 숫자
    정수 또는 실수.
rtos의 경우
  • 숫자
    정수 또는 실수.
  • 모드
    표기의 모드를 나타내는 정수. 선택 사항.
    1:지수 표기
    2:십진 표기
    3:공업 도면 표기(피트와 소수 인치)
    4:건축 도면 표기(피트와 분수 인치)
    5:분수 표기
  • 정밀도
    정밀도를 나타내는 정수. 선택 사항.

반환값

itoa의 경우
  • 문자열
    정수가 문자열로 변환됩니다.
    인수가 실수의 경우, 캐릭터 라인으로 변환되는 것은 정수부만.
rtos의 경우
  • 문자열
    실수가 문자열로 변환됩니다.
    인수가 정수인 경우, 소수점 이하는 표시되지 않는다.

itoa/rtos 사용 예

;숫자를 itoa로 문자열로 변환
(itoa 1)
⇒ "1"

(itoa 1.5)
⇒ "1"
;숫자를 rtos로 문자열로 변환
(rtos 1)
⇒ "1"

(rtos 1.5)
⇒ "1.5"
;실수를 소수점 이하 2위까지의 문자열로서 표시한다
(rtos 10.564 2 2)
⇒ "10.56"

(rtos 10.565 2 2)
⇒ "10.57"

문자열 ⇒ 숫자 변환: atoi/atof

atoi와 atof는 문자열을 숫자로 변환하는 함수입니다.

특히 atoi는 문자열을 정수로, atof는 문자열을 실수로 변환합니다.

문자열이 숫자 형식이 아닌 경우 0 또는 0.0이 반환됩니다.

구문

(atoi 문자열)

(atof 문자열)

인수 설명

  • 문자열
    숫자 형식이거나 숫자 형식이 아닌 문자열입니다.

반환값

atoi의 경우
  • 정수
    숫자 형식의 문자열로 정수 부분만 정수로 반환합니다.
    인수가 수치 형식이 아닌 경우는 0 이 돌려주어진다.
atof의 경우
  • 실수
    숫자 형식의 문자열을 실수로 반환합니다.
    인수가 수치 형식이 아닌 경우는 0.0 이 돌려주어진다.

atoi/atof 사용 예

;문자열을 atoi로 숫자로 변환
(atoi "1")
⇒ 1

(atoi "1.5")
⇒ 1

(atoi "aaa")
⇒ 0
;문자열을 atof로 숫자로 변환
(atof "1")
⇒ 1.0

(atof "1.5")
⇒ 1.5

(atof "aaa")
⇒ 0.0

문자열 결합: strcat

strcat은 여러 문자열을 결합하는 함수입니다.

인수의 캐릭터 라인은 기술한 순서로 결합됩니다.

구문

(strcat 문자열 ...)

인수 설명

  • 문자열
    결합할 문자열. 복수 지정하는 것이 가능.

반환값

  • 문자열
    인수를 순차적으로 결합한 문자열이 반환됩니다.

strcat 사용 예

(strcat "오늘은" "날씨가" "맑습니다")
⇒ "오늘은날씨가맑습니다"

문자열 추출: substr

substr은 문자열에서 일부 문자열을 추출하는 함수입니다.

추출을 시작할 문자의 순서와 문자 수를 지정하여 추출합니다.

문자의 순서와 문자수는 반각 문자로 카운트되기 때문에 주의해 주세요.

구문

(substr 문자열 정수 1 정수 2)

인수 설명

  • 문자열
    문자열이 추출되는 측면 문자열
  • 정수 1
    추출 시작 문자의 순서.
    선두에서 반각 문자로 카운트.
  • 정수 2
    반각 문자로 계산된 추출할 문자 수입니다.
    추출 문자수를 넘는 경우는 추출 개시 문자로부터 마지막까지의 캐릭터 라인이 돌려주어진다.

반환값

  • 문자열
    추출한 문자열.
    추출되는 캐릭터 라인이 없었던 경우는 공백이 돌려주어진다.

substr의 사용 예

;문자열 추출
(substr "AutoLISP" 2 3)
⇒ "uto"

(substr "오늘은 날씨가 맑습니다" 7 6)
⇒ "가 맑습니다"

(substr "a" 2 3)
⇒ ""

대문자/소문자 변환: strcase

strcase는 문자를 대문자 또는 소문자로 변환하는 함수입니다.

인수에 nil이 아닌 값을 설정하면 소문자를 대문자로 변환하고 nil 또는 생략하면 대문자를 소문자로 변환합니다.

구문

(strcase 문자열 [인수 1])

인수 설명

  • 문자열
    대문자 또는 소문자로 변환할 문자열입니다.
  • 인수 1
    대소문자로 변환할 판별할 인수.
    nil 또는 생략, nil 이외를 지정한다.

반환값

  • 문자열
    인수 1 : nil 또는 생략 ⇒ 소문자가 대문자로 변환 된 문자열이 반환됩니다.
    인수 1:nil 이외 ⇒ 대문자가 소문자로 변환된 캐릭터 라인이 돌려준다.
    변환하는 캐릭터가 없는 경우는 인수의 캐릭터 라인이 그대로 돌려준다.

strcase 사용 예

;문자열을 대문자 또는 소문자로 변환
(strcase "AutoLISP" nil)
⇒ "AUTOLISP"

(strcase "AutoLISP")
⇒ "AUTOLISP"

(strcase "AutoLISP" T)
⇒ "autolisp"

글자수: strlen

strlen은 문자열의 문자 수를 반각 문자로 계산하는 함수입니다.

문자열을 지정하지 않으면 오류가 발생하므로주의하십시오.

구문

(strlen 문자열)

인수 설명

  • 문자열
    문자 수를 계산하는 문자열입니다.
    문자열이 아니면 오류가 발생합니다.

반환값

  • 정수
    반각 문자로 계산된 문자 수입니다. 공백도 계산됩니다.

strlen의 사용 예

;문자열의 문자 수 계산
(strlen "AutoLISP")
⇒ 8

(strlen "오늘은 날씨가 맑습니다")
⇒ 12

(strlen "Tom and Jon")
⇒ 11

요약

이번에 소개한 문자열에 관한 함수를 아래의 표에 정리했습니다.

AutoLISP 개발에 도움이 되었으면 좋겠습니다.

기능 내용 구문
itoa
rtos
숫자를 문자열로 변환 (itoa 숫자)
(rtos 숫자)
atoi
atof
문자열을 숫자로 변환 (atoi 문자열)
(atof 문자열)
strcat 여러 문자열 결합 (strcat 문자열 ...)
substr 문자열에서 부분적으로 문자열 추출 (substr 문자열 정수 1 정수 2)
strcase 대문자/소문자 변환 (strcase 문자열 [인수 1])
strlen 문자 수를 반각으로 계산 (strlen 문자열)
기사의 내용이나 AutoLISP로 잘 모르는 곳이 있는 것 같으면, 코멘트나 메일로 부담없이 연락해 주세요!

 

프로그래밍

 

 

728x90
반응형

관련글 더보기

댓글 영역