Maxscript) 긴 배열을 문자열 그대로 변환하기
긴 배열을 문자열 그대로 변환하기
긴 배열을 문자열 그대로 변환하는 경우가 간혹 있습니다.
배열 정보를 그대로 텍스트파일에 넣어두고 후에 그 정보를 그대로 읽어오기 위해서죠.
배열을 문자로 변환 할때
testArray = #(1,2,3)
arrayString = testArray as string
다시 문자를 배열로 변환 할때
testArray = #(1,2,3)
newArray = execute arrayString
이때 배열의 길이가 길면 문제가 생깁니다.
리스너에 배열을 찍어보면 아래처럼 나오는 경우인데요.
#(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, ...)
이를 문자로 변환하면
"#(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, ...)"
"..."으로 인데 다시 execute를 해봐야 배열로 변환되지 않습니다.
이때 문자가 잘리지 않고 전체를 변환해주는 기능이 있는데요.
with printAllElements on
입니다.
사용방법은 간단한데요.
with printAllElements on (s = testArray as string)
이렇게 () 안에서 문자변환을 하면 "..."없이 간단하게 긴 배열을 문자로 변환 할 수 있습니다.
변환된 결과 입니다.
"#(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21)"
"..."이 없죠~
혹은
options.PrintAllElements = true