본문으로 이동

:Str ≠ len/설명문서

위키백과, 우리 모두의 백과사전.

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

이 틀은 문자열이 주어진 길이와 '같지 않은지' 또는 '같은지'를 판단합니다.

알림: 서버 부하 절약 측면에서, 이 틀보다는 {{str ≥ len}} 틀을 사용하는 것이 좋습니다. 같이 보기 문단을 참고하세요.

사용법

[편집]

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

{{str ≠ len | 문자열 | 길이 | 같지 않을 때의 출력 | 같을 때의 출력 }}

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

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

사용 예

[편집]

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

입력 결과
{{str ≠ len | abcde | 4 | 같지 않음 | 같음 }} 같지 않음
{{str ≠ len | abcde | 5 | 같지 않음 | 같음 }} 같음

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

입력 결과
{{str ≠ len | 소년이여 야망을 가져라 | 11 | 같지 않음 | 같음 }} 같지 않음
{{str ≠ len | 소년이여 야망을 가져라 | 12 | 같지 않음 | 같음 }} 같음
{{str ≠ len | àçé | 2 | 같지 않음 | 같음 }} 같지 않음
{{str ≠ len | àçé | 3 | 같지 않음 | 같음 }} 같음

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

입력 결과
{{str ≠ len | 1= ab=cde | 2= 5 | 3= 같지 않음(정상) | 4= 같음(오류) }} 같지 않음(정상).
{{str ≠ len | ab=cde | 5 | 같지 않음(정상) | 같음(오류) }} 수식 오류: 알 수 없는 "같" 구두점 문자입니다.

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

기술적인 내용

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

같이 보기

[편집]