잔글편집 요약 없음
잔글편집 요약 없음
128번째 줄: 128번째 줄:
}}
}}


===색상관련 숫자변수에서 발생되는 오류 해결===
색상변수를 사용하는 몇몇 틀에서 앞뒤에 빈문자가 있으면 틀 실행이 되지 않는다.
{{사용예
|입력=
<nowiki>
자유{{배지 |대한민국| blue }}입니다.
{{글색 | blue |안녕하십니까}}
{{글색 |red |안녕하십니까}}
</nowiki>
|결과=
자유{{배지 |대한민국| blue }}입니다.  <br>
{{글색 | blue |안녕하십니까}} <br>
{{글색 |red |안녕하십니까}}
}}
이럴 경우 다음과 같이 숫자변수를 사용하여 오류를 해결할 수 있다.
주의할 점은 숫자변수를 사용한 뒤에 오는 변수가 있다면 모두 <nowiki>=</nowiki> 형태로 만들어야 한다. <nowiki>=</nowiki>가 있는 변수끼리는 위치를 서로 바꾸어도 정상으로 나타난다.
{{사용예
|입력=
<nowiki>
자유{{배지 |대한민국|2= blue }}입니다.
{{글색 |1= blue|2=안녕하십니까}}
{{글색 |1=red |2=안녕하십니까}}
{{글색 |2=안녕하십니까 |1= green}}
</nowiki>
|결과=
자유{{배지 |대한민국|2= blue }}입니다.  <br>
{{글색 |1= blue|2=안녕하십니까}} <br>
{{글색 |1=red |2=안녕하십니까}} <br>
{{글색 |2=안녕하십니까 |1= green}}
}}
*주의 사항
{{사용예
|제목1=숫자변수의 잘못된 사용예
|입력=
<nowiki>
123{{배지 |1=대한민국|blue}}456 
123{{링크색|1=green |2=이준석|핫이슈맨}}456 
123{{글색 |1=red |안녕하십니까}}456 
</nowiki>
|제목2=숫자변수의 잘못된 결과
|결과=
123{{배지 |blue}}456 <ref>'대한민국'이 1번인자로 인식되어 1번인자 중복으로 다음의 오류메시지 발생함. <br>{{글색|red|<nowiki>경고: 틀:배지 /설명문서 문서는 틀:배지에 "1" 변수를 하나보다 더 많이 입력했습니다. 마지막으로 주어진 값만이 유효합니다.</nowiki>}}</ref>
123{{링크색|black|이준석}}456 <ref>'핫이슈맨'이 1번인자가 되어 1번인자 중복으로 다음의 오류메시지 발생함. <br>{{글색|red|<nowiki>경고: 틀:링크색/설명문서 문서는 틀:배지에 "1" 변수를 하나보다 더 많이 입력했습니다. 마지막으로 주어진 값만이 유효합니다.</nowiki>}}</ref>
123{{글색 |black|내용입력}}456 <ref>'안녕하십니까'이 1번인자로 인식되어 1번인자 중복으로 다음의 오류메시지 발생함. <br>{{글색|red|<nowiki>경고: 틀:글색/설명문서 문서는 틀:글색에 "1" 변수를 하나보다 더 많이 입력했습니다. 마지막으로 주어진 값만이 유효합니다.</nowiki>}}</ref>
}}
{{각주|단계=3}}




158번째 줄: 213번째 줄:


==함께보기==
==함께보기==
[[틀:if]]
* [[틀:if]]
 
* [[틀:and]]
[[틀:and]]
* [[틀:or]]
 
[[틀:or]]




{{각주}}
{{각주}}

2022년 7월 8일 (금) 19:31 판

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

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


사용법

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



사용예 기본

인자를 이용한 예

입력 결과
{{ if || 참 | 거짓 }} 
거짓 1번 인자를 입력하지 않은 경우.
{{ if |0| 참 | 거짓 }} 
참   숫자 "0"이 있는 경우.
{{ if |   | 참 | 거짓 }} 
거짓 빈 문자열이 있는 경우.
입력 결과
{{if |153| 참 | 거짓 }} 
숫자를 입력한 경우.
{{if | 2020년 | 참 | 거짓 }} 
숫자+문자열이 있는 경우.
{{if |aaa | 참 | 거짓 }} 
영문 문자열인 경우.
{{if | 우리 서울 |{{sp|b=yellow}} |{{sp|b=red}} }} 
참이면 yellow 설정

숫자변수를 이용한 예

{{if |문자열 검사 | 문자열 있을때 | 문자열 없을때 }}
{{if |1=문자열 검사 |2= 문자열 있을때 |3= 문자열 없을때 }}
  • 위의 두개는 동일한 결과를

나타낸다.

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



사용예 응용

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

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

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


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

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

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

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


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

입력 결과
{{ if | {{{1|}}} | 사이다 | 고구마}} 
고구마 → 1번인자 값이 없으므로 거짓값 실행됨.
{{ if | {{{1|@}}} | 사이다 | 고구마}} 
사이다 → 기본값 "@"이 있으므로 참값 실행됨.


색상관련 숫자변수에서 발생되는 오류 해결

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

입력 결과

자유{{배지 |대한민국| 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 | {{{그림|}}} | {{{그림}}} | {{이미지없음}} }} 
이미지없음 → 변수 "그림"값이 없으므로 거짓값 실행됨.


함께보기


각주