60px-Information icon4.svg.png 문서변경 알림
이 틀은 많은 문서에서 참조하고 있습니다. 틀:연습장에서 테스트 후 변경하시기 바랍니다.

이 틀은 논리 함수 (파서 함수) if의 기능을 대신하는 기본적인 틀로서 우남위키에서 아주 아주 중요한 틀이다.


사용법

문법
{{if |문자열 검사 | 문자열 있을때 | 문자열 없을때 }}
1번 인자, 문자열 검사
문자열이 있는지 검사
2번인자
문자열 있으면 실행.
3번인자
문자열 없으면 실행.


사용예

인자를 사용한 예

입력 결과
{{ if ||참 |거짓 }} 
거짓 1번인자를 입력하지 않음.
{{ if |0 |참 |거짓 }} 
참   숫자 "0"이 있는 경우.
{{ if |  |참 |거짓 }} 
거짓 빈 문자열이 있는 경우.
입력 결과
{{if |153|참 |거짓 }} 
숫자를 입력한 경우.
{{if |2020년 |참 |거짓 }} 
숫자+문자열이 있는 경우.
{{if |aaa |참 |거짓 }} 
영문 문자열인 경우.


숫자변수를 사용한 예

{{if |문자열 검사 | 문자열 있을때 | 문자열 없을때 }}
{{if |1=문자열 검사 |2= 문자열 있을때 |3= 문자열 없을때 }}
  • 위의 두개는 동일한 결과를 나타낸다.
  • 숫자변수를 이용하면 빈 문자의 입력으로 인한 오류를 막을 수 있는 장점이 있다.
  • 복잡한 코드를 만들거나 분석할 때 쉽게 이해할 수 있게 해준다.


입력 결과

{{if |1= 1
|2=참
|3=거짓 }} 
1이므로 참

{{if |1= {{{2|}}}
|2=참
|3=거짓 }} 
거짓 매개변수2가 없으므로 거짓 실행

{{if |1= {{{2|기분값}}}
|2=참
|3=거짓 }} 
매개변수2가 없으나 '기본값'이 실행되어 참.



사용예 응용

다음은 틀을 사용할 때 변수를 사용할 수 있는 변수 관련 예이다.

틀 if 조건문에 문자열 대신 변수를 사용할 수 있다. 변수에는 숫자 변수 혹은 문자열 변수가 있는데  {{{1|}}} ,  {{{변수명|}}} 와 같은 형태이다.

자세히 보면 문자열에  | 가 있는데 구분자 뒤에 값을 지정할 수 있다. 이것은 사용자가 변수 값을 입력안해도 표시되는 기분값을 표시한다.


숫자 변수 {{{1|}}}

틀에서 사용하는 변수로는  {{{1|}}} ,  {{{2|}}}  처럼 생긴 숫자변수이다.

다음은 1번변수 값에 대한 결과이다.

입력 결과
{{{1}}} 
{{{1}}} → 문서에서 넘어온 변수값 "1=" 이 그대로 표시됨.
{{{1|}}} 
   → 1번인자 값이 없으므로 표시안됨.
{{{1|red}}} 
red → 1번인자가 없으면  |  뒤의 값 red(기본값) 표시됨.


다음은 틀 if의 조건으로 사용한 예이다. 물론 문서에서 이 틀을 호출하며 1번 매개변수(1번인자) 값을 설정하면 1번변수 값이 실행될 것이다.

입력 결과
{{ if | {{{1|}}} | 사이다 | 고구마}} 
고구마 → 1번인자 값이 없으므로 거짓값 실행됨.
{{ if | {{{1|@}}} | 사이다 | 고구마}} 
사이다 → 기본값 "@"이 있어 참값 실행.
{{ if | {{{1|red}}} | {{{1|red}}} | }} 
red → 변수 1이 없어 기본값 red실행됨. 변수 1=yellow 가 설정되었다면 참값인 {{{1|red}}} 가 실행되고 변수1이 yellow이므로 yellow가 실행됨. 이 예는 틀 {{대학 정보}}등 배경색을 기본값으로 사용하고, 문서에서 설정값을 바꿀 수 있게 할 때 유용하다.

색상관련 숫자변수 사용예

잘못된 예

색상변수를 사용하는 몇몇 틀에서 앞뒤에 빈문자가 있으면 틀 실행이 되지 않는다.

입력 결과

자유{{배지 |대한민국| blue }}입니다. 
{{글색 | blue |안녕하십니까}}
{{글색 |red |안녕하십니까}}
 

자유대한민국 입니다.
안녕하십니까

안녕하십니까

올바른 예

이럴 경우 다음과 같이 숫자변수를 사용하여 오류를 해결할 수 있다. 주의할 점은 숫자변수를 사용한 뒤에 오는 변수가 있다면 모두 = 형태로 만들어야 한다. =가 있는 변수끼리는 위치를 서로 바꾸어도 정상으로 나타난다.

입력 결과

자유{{배지 |대한민국|2= blue }}입니다. 
{{글색 |1= blue|2=안녕하십니까}}
{{글색 |1=red |2=안녕하십니까}}
{{글색 |2=안녕하십니까 |1= green}}
 

자유대한민국 입니다.
안녕하십니까
안녕하십니까

안녕하십니까
  • 주의 사항
숫자변수의 잘못된 사용예 숫자변수의 잘못된 결과

123{{배지 |1=대한민국|blue}}456   
123{{링크색|1=green |2=이준석|핫이슈맨}}456  
123{{글색 |1=red |안녕하십니까}}456  
 

123blue 456 [1]

123이준석456 [2]

123내용입력456 [3]

각주

  1. '대한민국'이 1번인자로 인식되어 1번인자 중복으로 다음의 오류메시지 발생함.
    경고: 틀:배지 /설명문서 문서는 틀:배지에 "1" 변수를 하나보다 더 많이 입력했습니다. 마지막으로 주어진 값만이 유효합니다.
  2. '핫이슈맨'이 1번인자가 되어 1번인자 중복으로 다음의 오류메시지 발생함.
    경고: 틀:링크색/설명문서 문서는 틀:배지에 "1" 변수를 하나보다 더 많이 입력했습니다. 마지막으로 주어진 값만이 유효합니다.
  3. '안녕하십니까'이 1번인자로 인식되어 1번인자 중복으로 다음의 오류메시지 발생함.
    경고: 틀:글색/설명문서 문서는 틀:글색에 "1" 변수를 하나보다 더 많이 입력했습니다. 마지막으로 주어진 값만이 유효합니다.

문자열 변수 {{{이름|}}}

틀에서 입력변수는  {{색|}}} ,  {{{배경색|}}} 와 같은 모양이다.

다음은 틀 {{배지}}의 예이다. 색상관련 입력변수에서 빈문자가 있믈 경우 오류가 나는 경우가있어 if 틀을 사용한다.

입력 결과
{{배지|글자색|{{{색|red}}}}} 
글자색 → 아직 매개변수 "색"이 지정되지 않아 red가 실행됨.
{{배지|제목이름|{{if |{{{색|}}}|yellow|red}}}} 
제목이름 → 틀 if에서 변수 "색"이 있면 yellow, 없으면 red가 설정됨.


다음 예는 틀 {{정치인}}등에서 사용하는 "그림" 매개변수인데 그림 값이 있으면 그림값을 표시하고, 없으면 이미지없음 틀을 실행한다.

입력 결과
{{ if | {{{그림|}}} | {{{그림}}} | {{이미지없음}} }} 
이미지없음 → 변수 "그림"값이 없으므로 거짓값 실행됨.


오류 발생의 경우

인자를 생략한 예

60px-Information icon4.svg.png 인자를 생략했을 경우엔 결과값을 장담할 수 없다.
입력 결과
{{if |@ |참 }} 
{{if |@ }} 
{{if |@ |참 |거짓 |기타 }} 
{{if | |참 }} 
{{if | }} 
{{if | |참 }} 

숫자변수를 생략한 예

입력 결과

{{if |1=@ |3=거짓 }}
 
2번변수가 없어 빈값.

{{if |1= |3=거짓 }}
 
거짓

{{if |2=참 |3=거짓 }}
 
거짓 1번인자가 없어 거짓.

{{if |1= |3=거짓 |4=기타 }}
 
거짓 1번인자가 없어 거짓.

{{if |2=참 |3=거짓 |ㅁㅁ }}
{{if |2=참 |ㅁㅁ |3=거짓 }}
{{if |3=거짓 |2=참 |ㅁㅁ }}

 
숫자변수와 인자를 혼합한 경우는 비추천.
60px-Information icon4.svg.png 인자를 생략했을 경우엔 결과값을 장담할 수 없다.
입력 결과

{{if |1= @ |2=참 }}
 

{{if |1= |2=참 }}
 


함께보기


각주