모듈:데이터 로드
Module| 이 모듈의 정격은 알파입니다.서드파티제의 입력에 대응하고 있으며, 문제가 발생했는지 확인하기 위해 몇 페이지에 걸쳐 사용할 수 있지만 주의해 주십시오.새로운 기능이나 입력 및 출력 메커니즘의 변경에 대한 제안도 환영합니다. |
모듈의 보다 복잡한 버전:부등식 연산자로 더 많은 옵션과 인덱스를 선택할 수 있는 기능이 있는 데이터입니다.
사용.
{{#invoke:LoadData Module name index1 2 lteq=index2 limit ... }}
- Zeroth 파라미터는 읽을 데이터 모듈의 이름입니다(Module: 없음).
Example/data - 인덱스에 대한 다음 매개 변수N1부터 시작해서, 라고 불립니다.
N=필요한 정확한 지표를 얻기 위해 가능하면 번호를 매기도록 강요한다.N lteq=인수보다 작거나 같은 가장 높은 수치 지수를 선택한다.N gteq=그 반대입니다. template=는 결과값을 보간하는 printf 스타일의 문자열입니다.<b>%s</b>.preprocess=~와 같다template=을 제외하고frame:preprocess템플릿 트랜슬레이션이 동작합니다.if nil=결과가 0일 때 반환되는 문자열입니다.기본값은 0 입니다.빈 문자열로 표시됩니다.
현지의 p = {} -- 지정된 i의 다음 키 <= 또는 >=를 찾습니다. -- 연산자는 ±1 입니다. 현지의 기능. findItemRange(데이터., i, 교환입니다.) 현지의 베스트 인덱스 = 제로 i = i * 교환입니다. 위해서 k, v 에 쌍들(데이터.) 하다 현지의 카프 = 유형(k) == '숫자' 그리고. k * 교환입니다. 한다면 카프 그리고. 카프 <=> i 그리고. (베스트 인덱스 == 제로 또는 카프 > 베스트 인덱스 * 교환입니다.) 그리고나서 베스트 인덱스 = k 끝. 끝. 한다면 베스트 인덱스 그리고나서 돌아가다 데이터.[베스트 인덱스] 또 다른 돌아가다 제로 끝. 끝. 현지의 기능. 장전(데이터 모듈, 틀) 현지의 args = 틀.args 현지의 데이터. = 음.로드 데이터(데이터 모듈) 위해서 i = 1, 20 하다 한다면 args[i] 그리고나서 데이터. = 데이터.[톤수(args[i]) 또는 args[i]] 그렇지 않으면 args[i .. 'lteq'] 그리고나서 데이터. = findItemRange(데이터., 톤수(args[i .. 'lteq']), 1) 그렇지 않으면 args[i .. 'gteq'] 그리고나서 데이터. = findItemRange(데이터., 톤수(args[i .. 'gteq']), -1) 또 다른 브레이크. 끝. 끝. 한다면 데이터. == 제로 그리고나서 돌아가다 args['if_internal'] --필수인수가아닙니다.여기서 0을 반환해도 됩니다. 끝. 한다면 유형(데이터.) == '테이블' 그리고나서 -- loadData의 반환값이 반환되므로 테이블을 다른 테이블에 배치합니다. --는 특정 메타 모드만 있는 "짝퉁" 테이블입니다. 현지의 리얼 데이터 = {} 위해서 k, v 에 쌍들(데이터.) 하다 리얼 데이터[k] = v 끝. 데이터. = 리얼 데이터 또 다른 데이터. = { 데이터. } 끝. 한다면 args['실패'] 그리고나서 돌아가다 음.본문.언스트립노위키(args['실패']):포맷(개봉하다(데이터.)) 그렇지 않으면 args['프로세스 해제'] 그리고나서 돌아가다 틀:전처리(음.본문.언스트립노위키(args['프로세스 해제']):포맷(개봉하다(데이터.))) 또 다른 돌아가다 table.concat(데이터.) 끝. 끝. 돌아가다 설정 가능한({}, { __인덱스 = 기능.(t, k) 돌아가다 기능.(틀) 돌아가다 장전('모듈:' .. k, 틀) 끝. 끝. }) 