-- 모듈의 도우미 기능을 테스트합니다.단위 정보를 가져오도록 변환합니다. -- 사용방법 : {{#invoke: sandbox/Johnuniq/unit main} -- 「모듈 토크」를 참조해 주세요.샌드박스/Johnuniq/유닛]] 현지의 기능. 수집() -- 항목을 저장할 테이블을 반환합니다. 돌아가다 { n = 0, 더하다 = 기능. (자신, 아이템) 자신.n = 자신.n + 1 자신[자신.n] = 아이템 끝., 합류하다 = 기능. (자신, 세프) 돌아가다 table.concat(자신, 세프) 끝., } 끝. 현지의 테스트 = { -- unitcode 값 플래그(L=link, N=name, U=us, S=flags) 'kg', 'kg 12.3L', 'm', 'm-1 S', 'm 12 L S', 'km L', 'ft 99 L', 'km3 L', 'km3 12.3 N', 'km3 12.3 L N', 'km3 12.3 L NU', 'km3 12.3 L N US', '푸', '푸엘에스', } 현지의 기능. 제조_실(본문) 현지의 플래그 = { L=링크, N=이름, U='우리', S='실패' } 현지의 유닛 코드, 옵션들 현지의 표시하다 = 수집() 표시하다:더하다('유닛의 기능') 위해서 아이템 에서 본문:gmatch(%S+') 하다 한다면 유닛 코드 그리고나서 현지의 k, v k = 플래그[아이템] 한다면 k 그리고나서 한다면 아이템 == 'S' 그리고나서 v = 켜다' 또 다른 v = '진짜' 끝. 또 다른 k = '값' v = 톤수(아이템) 끝. 한다면 옵션들 그리고나서 표시하다:더하다(', ') 또 다른 옵션들 = {} 표시하다:더하다(', {') 끝. 옵션들[k] = v 표시하다:더하다(k .. '=' .. v) 또 다른 유닛 코드 = 아이템 표시하다:더하다("'" .. 아이템 .. "'") 끝. 끝. 한다면 옵션들 그리고나서 표시하다:더하다('}') 끝. 표시하다:더하다(')') 돌아가다 유닛 코드, 옵션들, 표시하다:합류하다() 끝. 현지의 기능. 주된(틀) 현지의 get_unit(유닛을 취득하다) = 요구하다('모듈:변환/샌드박스')._유닛 현지의 결과. = 수집() 위해서 _, 아이템 에서 아이페어(테스트) 하다 현지의 유닛 코드, 옵션들, 표시하다 = 제조_실(아이템) 현지의 구성 단위 = get_unit(유닛을 취득하다)(유닛 코드, 옵션들) 결과.:더하다('') 결과.:더하다('>' .. 표시하다) 결과.:더하다(string.format('%40s %9s %s', 구성 단위.본문, 구성 단위.알 수 없는 그리고. '(마이너스)' 또는 '', 구성 단위.정렬 범위 또는 '' )) 끝. 돌아가다 '<예비>\n' .. 음.본문.노우키(결과.:합류하다('\n')) .. '\n</pre>\n' 끝. 돌아가다 { 주된 = 주된 }