r81 vs r82
......
1818
{{{#!if false
1919
1 (false는 출력되지 않는다.)}}}
2020
21
{{{#orange 결론}}} : true는 논리값 true로 동작된다.
2122
== 매개변수 테스트 ==
2223
[include(틀:상세 내용, 설명대상=매개변수 대상, 문서명=테스트:If문법/include 대상)]
2324
[include(틀:상세 내용, 설명대상=매개변수 대상의 include 테스트 결과, 문서명=테스트:If문법/include 결과)]
......
129130
{{{#!if false & false
130131
출력 (& 기호)}}}
131132
----
132
결론 : & 기호는 논리연산 AND
133133
134
{{{#orange 결론}}} : & 기호는 논리연산 AND
135
134136
=== 비트 연산 ===
135137
& 기호가 2진수 비트곱으로도 처리되는 것은, |기호와 같이 true와 false 진리값이 각각 1, 0인 논리를 시스템상에서 나타내므로
136138
|| || case1 || case2 || case3 || case4 ||
......
215217
{{{#!if 10/5==1
216218
출력 (연산 테스트)}}}
217219
----
218
결론 : * / > >= < <= 연산기호는 지원되는 모양이다.
220
{{{#orange 결론}}} : * / > >= < <= 연산기호는 지원되는 모양이다.
219221
220222
== ^ 기호 테스트 ==
221223
=== 논리 연산 ===
......
264266
{{{#!if 0^1==1
265267
출력}}}
266268
----
267
결론 : ^는 논리연산 XOR
269
{{{#orange 결론}}}
270
: ^는 논리연산 XOR
268271
269272
=== 비트 연산 ===
270273
| 기호, & 기호와 같이 2진법의 각 자릿수별로 계산된다.
......
416419
{{{#!if !(0.5)
417420
출력}}}
418421
----
419
결론 : !는 논리연산 NOT이고, 범위를 지정해줘야 동작된다.
422
{{{#orange 결론}}} : !는 논리연산 NOT이고, 범위를 지정해줘야 동작된다.
420423
---0만 아니면 될까?---
421424
422425
== ~ 기호 테스트 ==
......
476479
{{{#!if ~(!true)==false
477480
출력}}}
478481
----
479
결론 : ~ 기호는 논리 연산으로는 동작되지 않는다.
482
{{{#orange}}} 결론 : ~ 기호는 논리 연산으로는 동작되지 않는다.
480483
481484
다만 위의 ~(-1)==1 을 가져와서 비트 연산이 참인지 거짓인지 나오는 결과를 두고 논리식을 만들기는 가능하다.
482485
!(~(-1)==1) : false 부정이므로 출력된다.
......
506509
출력}}}
507510
----
508511
512
== null 과 "" 테스트 ==
513
""과 ""은 같다.
514
{{{#!if "" == ""
515
출력}}}
516
----
517
Null과 ""은 다르다.
518
{{{#!if null == ""
519
출력}}}
520
----
521
null과 null은 같다.
522
{{{#!if null==null
523
출력}}}
524
----
525
null과 false는 다르다. (나무위키 도움말에서) if null이면 거짓이므로 출력이 안 되는 것이 아니라, if 조건부 null이 true 논리값으로 나오지 않아서 출력이 안 되는 것이다.
526
null=false 테스트 하면 출력되지 않는다.
527
{{{#!if null==false
528
출력}}}
529
----
530
null과 true는 다르다. null=true 테스트를 하면 출력되지 않는다.
531
{{{#!if null==true
532
출력}}}
533
534
{{{#orange 결론 1}}} : 호출할 때 {{{#!wiki style="display: inline; font-family: monospace;"
535
{{{#skyblue 변수명}}}=}}}이라고 적으면 {{{#skyblue 변수명}}}은 "정의한 값이 없음(null)"이 아니라 "빈 텍스트 값"이 된다.
536
{{{#orange 결론 2}}} : true, false는 "정의한 논리값"이므로 null과 다르다.
537
509538
== 역링크 등 기타 테스트 ==
510539
||If true [[틀:토론]] include[br]{{{#!if true
511540
[include(틀:토론)]}}}||
......
658687
42>>3==5, 95>>4==5이므로 42>>3==95>>4는 출력된다.
659688
{{{#!if 42>>3==95>>4
660689
출력}}}
661
----
662
""과 ""은 같음.
663
{{{#!if "" == ""
664
출력}}}
665
----
666
Null과 ""은 다름.
667
{{{#!if null == ""
668
출력}}}
669
----
670
null과 null은 같음.
671
{{{#!if null==null
672
출력}}}
673
----
674
""와 ""은 같음.
675
{{{#!if ""==""
676
출력}}}
677690
678
호출할 때 {{{#!wiki style="display: inline; font-family: monospace;"
679
{{{#skyblue 변수명}}}=}}}이라고 적으면 {{{#skyblue 변수명}}}은 "정의한 값이 없음(null)"이 아니라 "빈 텍스트 값"이 된다.
680691
== 메모 ==
681692
* If 조건문에 함수를 넣을 수 있을까?
682693
예 : dday를 넣어서 누구누구 운영자가 재직 며칠이 되었음을 적을 수 있음, pagecount를 넣어서 이 문서 개수가 몇 개를 돌파했음을 알릴 수 있음, 대문 기념일 틀을 기념일 되기 한참 전에 미리 만들어놓고 if를 걸어놓을 수 있음, 나무위키 공지 틀(고정 주석 문법)에 if를 걸어놓을 수 있음.{{{#!folding 예시 보기, 접기
......