string.format(formatstring, ···)
첫 번째 인수에 지정된 설명을 따라 인수의 변수 번호의 형식화된 버전을 리턴합니다(문자열이어야 함).
출력 문자열은 표준 C 함수의
문자열을 생성합니다.printf
계열과 동일한 규칙을 따릅니다. 유일한 다른 점은 옵션/수정자 *
, l
, L
, n
, p
, h
가 지원되지 않으며 추가 옵션 q
가 있다는 점입니다. q
옵션은 Lua 인터프리터가 다시 안전하게 읽는 데 적합한 양식으로 문자열을 형식화합니다. 문자열은 큰따옴표 사이에서 작성되며 문자열의 모든 큰따옴표, 줄 바꾸기, 임베디드 영(0), 백슬래시는 작성될 때 올바르게 이스케이프됩니다. 예를 들어, 다음 호출에서string.format('%q', 'a string with "quotes" and \n new line')
"a string with \"quotes\" and \
new line"
옵션 c
, d
, E
, e
, f
, g
, G
, i
, o
, u
, X
, x
은 모두 숫자를 인수로 예상하는 반면 q
, s
는 문자열을 예상합니다.
이 함수는 q
옵션에 대한 인수를 제외하고 임베디드 영(0)이 포함된 문자열 값을 허용하지 않습니다.