틀:Str ≥ len

위키백과, 우리 모두의 백과사전.
이동: 둘러보기, 검색
Template-info.svg 틀 설명문서 [편집] [역사] [새로 고침]

{{str ≥ len}} 틀은 메타 틀(틀을 위한 틀)입니다.

이 틀은 문자열이 주어진 길이보다 '길거나 같은지' 또는 '짧은지'를 판단합니다.

사용법[편집]

이 틀을 쓸 때에는 3개 또는 4개의 이름 없는 매개변수를 씁니다. 사용할 수 있는 모든 매개변수는 다음과 같으며, 3번째나 4번째 매개변수는 생략 가능합니다. 상황에 따라 오류가 발생할 수 있으므로 사용 예를 참고하세요.

{{str ≥ len | 문자열 | 길이 | 길거나 같을 때의 출력 | 짧을 때의 출력 }}

코드 길이를 최적화하고 오류 발생 가능성을 줄이려면 다음과 같이 씁니다.

{{str ≥ len|1=|2=|3=|4=}}
  • 문자열이 비어 있거나 지정되지 않으면 길이가 0인 것으로 간주됩니다. 문자열 길이는 500자까지로 한정됩니다.
  • 0 미만의 길이는 0으로 간주됩니다. 500 초과의 길이는 500으로 간주됩니다.
  • 500자 또는 그 이상의 문자열은 어떠한 길이가 주어지든 간에 항상 '길거나 같음'으로 처리됩니다.

사용 예[편집]

간단한 예를 통해 이 틀의 동작을 확인할 수 있습니다.

입력 결과
{{str ≥ len | abcde | 5 | 길거나 같음 | 짧음 }} 길거나 같음
{{str ≥ len | abcde | 6 | 길거나 같음 | 짧음 }} 짧음

한글처럼, 유니코드에는 지정되어 있으나 아스키 코드에 미포함된 문자를 문자열로 지정하면 한 문자의 바이트에 상관 없이 문자 수를 셉니다. 과거에 문제가 있던 기능으로, 현재 한국어판 위키백과에서는 올바르게 동작합니다. 버그질라:16852 참고.

입력 결과
{{str ≥ len | 소년이여 야망을 가져라 | 12 | 길거나 같음 | 짧음 }} 길거나 같음
{{str ≥ len | 소년이여 야망을 가져라 | 13 | 길거나 같음 | 짧음 }} 짧음
{{str ≥ len | àçé | 3 | 길거나 같음 | 짧음 }} 길거나 같음
{{str ≥ len | àçé | 4 | 길거나 같음 | 짧음 }} 짧음

만약 매개변수 이름 없이 문자열에 등호(=)를 포함시키면 틀 사용시 이름 있는 매개변수로 취급되기 때문에 오류가 생깁니다. 이를 방지하기 위해서는 이름 있는 매개변수를 사용하면 됩니다. 매개변수 이름으로는 1, 2, 3, 4를 쓰면 됩니다. 다음 예는 문자열 "ab=cde"가 5자 이상인지 미만인지를 판단합니다.

입력 결과
{{str ≥ len | 1= ab=cde | 2= 5 | 3= 길거나 같음(정상) | 4= 짧음(오류) }} 길거나 같음(정상)
{{str ≥ len | ab=cde | 5 | 길거나 같음(정상) | 짧음(오류) }} 표현 오류: 알 수 없는 "�" 구두점 문자입니다.

다른 틀에 사용할 경우, 위와 같은 오류를 막기 위해 매개변수 이름을 지정하는 것을 권장합니다.

기술적인 내용[편집]

  • 컴퓨터 자판으로 치기 쉬운 이 틀의 이름은 {{str >= len}}이지만 기술적 한계 때문에 현재의 이름을 쓰고 있습니다.
  • 이 틀의 실행은 서버 부하를 비교적 적게 먹는 편입니다. 다른 문자열 처리 틀은 서버 부하 때문에 사용이 권장되지 않는 경우가 있는데, 그런 경우 이 틀로 대체가 가능하면 이 틀을 쓰세요. (같이 보기 문단 참조.)
  • 사용시 파이프 문자(|)는 매개변수 구분자로 사용되기 때문에 매개변수 자체에 파이프 문자가 들어갈 경우 특수하게 처리해야 합니다. 위키백과:틀#매개변수를 참고하세요.
  • 이 틀은 내부적으로 문자열 앞에 x(엑스)를 붙여서 처리합니다. 이는 {{#ifeq:}} 기능이 0과 00 따위의 문자열을 수로 인식해 같은 것으로 처리하는 것을 막기 위해서입니다.
  • 이 틀은 영어판에서 가져온 것입니다. 특수문자의 처리 등에 관해서 위에 설명되지 않은 오류가 나타날 수 있습니다. 오류를 발견하실 경우 틀토론 또는 틀의 주 제작자 사용자 토론에 글을 남겨 주세요. 직접 오류를 수정하실 경우 이 틀을 사용하는 다른 틀에서 올바르게 동작하는지 시험을 거쳐 주세요.

같이 보기[편집]