r62 vs r63
......
55
66
if 구문 테스트.
77
RAW(원문) 참조.
8
89
== true, false ==
910
{{{#!undefined_command @a@==1
1011
1}}}
......
1617
if false 1
1718
{{{#!if false
1819
1 (false는 출력되지 않는다.)}}}
20
1921
== 매개변수 테스트 ==
2022
[include(틀:상세 내용, 설명대상=매개변수 대상, 문서명=테스트:If문법/include 대상)]
2123
[include(틀:상세 내용, 설명대상=매개변수 대상의 include 테스트 결과, 문서명=테스트:If문법/include 결과)]
24
2225
== | 기호 테스트 ==
2326
=== 논리 연산 ===
2427
| 기호 테스트 (둘 다 true)
......
8285
(5|3)=6 테스트 : 출력되지 않는다.
8386
{{{#!if (5|3) ==6
8487
출력}}}
85
그래서 (5|3)=7 을 조건부로 둔 if 구문(문법)을 걸어놓으면 true로 동작되는 것으로 보인다.
88
그래서 (5|3)=7 을 조건부로 둔 if 구문(문법)을 걸어 놓으면 true로 동작되는 것으로 보인다.
8689
----
8790
(9|5)=13 테스트
8891
|| 10진수 || 2^^^3^^^ || 2^^^2^^^ || 2^^^1^^^ || 2^^^0^^^ ||
......
127130
출력 (& 기호)}}}
128131
----
129132
결론 : & 기호는 논리연산 AND
133
130134
=== 비트 연산 ===
131135
& 기호가 2진수 비트곱으로도 처리되는 것은, |기호와 같이 true와 false 진리값이 각각 1, 0인 논리를 시스템상에서 나타내므로
132136
|| || case1 || case2 || case3 || case4 ||
......
157161
{{{#!if (20&11)==0
158162
출력}}}
159163
----
164
160165
== 부등호 테스트 ==
161166
연산 테스트 (음수도 읽는 모양이다.)
162167
{{{#!if (1<2)&(2>=-3)
......
211216
출력 (연산 테스트)}}}
212217
----
213218
결론 : * / > >= < <= 연산기호는 지원되는 모양이다.
219
214220
== ^ 기호 테스트 ==
215221
=== 논리 연산 ===
216222
^ (exponent?)
......
241247
{{{#!if false ^ false
242248
출력 (^ 기호)}}}
243249
----
244
A^B==C {{{-2 ([math(A \neq 0,\ B \neq C)])}}}꼴을 if 조건문으로 걸어놨는데 true가 된 것은, ==를 먼저 연산해서 A^false가 되었는데 A가 0이 아니므로 true로 읽히게 되어 A^false가 true로 반환되서 if 조건문이 true로 되어버린 모양.
250
A^B==C {{{-2 ([math(A \neq 0,\ B \neq C)])}}}꼴을 if 조건문으로 걸어 놨는데 true가 된 것은, ==를 먼저 연산해서 A^false가 되었는데 A가 0이 아니므로 true로 읽히게 되어 A^false가 true로 반환되서 if 조건문이 true로 되어버린 모양.
245251
1^2==3 : 1^false가 되어 출력된다.
246252
{{{#!if 1^2==3
247253
출력}}}
......
259265
출력}}}
260266
----
261267
결론 : ^는 논리연산 XOR
268
262269
=== 비트 연산 ===
263270
| 기호, & 기호와 같이 2진법의 각 자릿수별로 계산된다.
264271
......
273280
(20^11)=30 : 2^^^0^^^의 자릿수가 틀려서 출력되지 않는다.
274281
{{{#!if (20^11)==30
275282
출력}}}
283
276284
== ! 기호 테스트 ==
277285
false == false : 출력된다.
278286
{{{#!if false==false
......
485493
{{{#!if 5**2%7==3
486494
출력}}}
487495
----
496
488497
== 역링크 등 기타 테스트 ==
489498
||If true [[틀:토론]] include[br]{{{#!if true
490499
[include(틀:토론)]}}}||
......
540549
출력}}}
541550
----
542551
지수의 지수
543
{{{+2 2^^^{{{#!wiki style="display:inline;"
552
{{{+2 2^^^{{{#!wiki style="display: inline"
544553
2^^^2^^^}}}^^^=16}}} : 출력된다.
545554
{{{#!if 2.0**(2.0**2.0)==0**1+16
546555
출력}}}
547556
----
548
{{{+1 2^^^{{{#!wiki style="display:inline;"
557
{{{+1 2^^^{{{#!wiki style="display: inline"
549558
2^^^2^^^}}}^^^=15}}}로 하면 출력되지 않는다.
550559
{{{#!if 2.0**(2.0**2.0)==0**1+15
551560
출력}}}
552561
----
553
{{{+2 3^^^{{{#!wiki style="display:inline;"
562
{{{+2 3^^^{{{#!wiki style="display: inline"
554563
3^^^2^^^}}}^^^=3^^^9^^^=19683}}} : 출력된다.
555564
{{{#!if 3.0**(3.0**2.0)==0**1+19683
556565
출력}}}
557566
----
558
{{{+2 3^^^{{{#!wiki style="display:inline;"
567
{{{+2 3^^^{{{#!wiki style="display: inline"
559568
3^^^2^^^}}}^^^=3^^^9^^^=19682}}} : 출력되지 않는다.
560569
{{{#!if 3.0**(3.0**2.0)==0**1+19682
561570
출력}}}
562571
----
563572
지수의 지수의 지수
564
{{{+2 2^^^{{{#!wiki style="display:inline;"
565
2^^^{{{#!wiki style="display:inline;"
573
{{{+2 2^^^{{{#!wiki style="display: inline"
574
2^^^{{{#!wiki style="display: inline"
566575
2^^^2^^^}}}^^^}}}^^^=2^^^16^^^=65536}}} : 출력된다.
567576
{{{#!if 2.0**(2.0**(2.0**2.0))==0**1+65536
568577
출력}}}
569578
----
570
{{{+2 2^^^{{{#!wiki style="display:inline;"
571
2^^^{{{#!wiki style="display:inline;"
579
{{{+2 2^^^{{{#!wiki style="display: inline"
580
2^^^{{{#!wiki style="display: inline"
572581
2^^^2^^^}}}^^^}}}^^^=2^^^16^^^=65535}}} : 출력되지 않는다.
573582
{{{#!if 2.0**(2.0**(2.0**2.0))==0**1+65535
574583
출력}}}
575584
----
576
무한 지수 탑 함수 테스트를 해볼 겸 지수의 지수의 지수의 지수(...)를 테스트 해볼 수는 있겠지만 적당한 값을 넣어야 한다. 가령 {{{+2 2^^^{{{#!wiki style="display:inline;"
577
2^^^{{{#!wiki style="display:inline;"
578
2^^^{{{#!wiki style="display:inline;"
585
무한 지수 탑 함수 테스트를 해볼 겸 지수의 지수의 지수의 지수(...)를 테스트 해볼 수는 있겠지만 적당한 값을 넣어야 한다. 가령 {{{+2 2^^^{{{#!wiki style="display: inline"
586
2^^^{{{#!wiki style="display: inline"
587
2^^^{{{#!wiki style="display: inline"
579588
2^^^2^^^}}}^^^}}}^^^}}}^^^}}}를 계산기에서 계산하면 {{{오버플로}}}가 나온다.
580589
----
581590
[math(\left(1^{{1}\over{2}}\right)^{2}=1)]
......
591600
예 : dday를 넣어서 누구누구 운영자가 재직 며칠이 되었음을 적을 수 있음.
592601
593602
if 가 나왔으니 while, for 등 루프 연산, 그리고 더 나아가서 변수값 재지정, break, continue 등 구문이 나올 수 있어 보인다. 그렇게 나오게 되면 문서는 하나의 스크립트가 될 수 있다. 루프(loop) 연산이 나오게 되면 [[2021년 the seed 엔진 위키 서버 과부하 사건|include 과부하 요청]] 같이 무한히 지속되는 연산 요청을 내지 않도록 시스템에서 의도적으로 루프를 몇 번까지만 반복할 수 있도록 제한을 걸어둘 것으로 보인다.
603
594604
== 결론 ==
595
||{{{#!wiki style="margin: 0 0 0 -0.25em; display: inline;"
596
{{{ {{}}}}}}{{{#!wiki style="margin: 0 0 0 -0.25em; display: inline;"
597
{{{{#!if }}}}}}{{{#!wiki style="margin: 0 0 0 -0.25em; display: inline;"
605
||{{{#!wiki style="margin: 0 0 0 -0.25em; display: inline"
606
{{{ {{}}}}}}{{{#!wiki style="margin: 0 0 0 -0.25em; display: inline"
607
{{{{#!if }}}}}}{{{#!wiki style="margin: 0 0 0 -0.25em; display: inline"
598608
{{{#blue {{{(논리식)}}}}}}}}}
599
{{{#!wiki style="margin: 0 0 0 -0.25em; display: inline;"
600
{{{#green {{{(true이면 출력할 내용)}}}}}}}}}{{{#!wiki style="margin: 0 -0.625em 0 -0.25em; display: inline;"
601
{{{}} }}}}}}{{{#!wiki style="margin: 0 0 0 -0.25em; display: inline;"
609
{{{#!wiki style="margin: 0 0 0 -0.25em; display: inline"
610
{{{#green {{{(true이면 출력할 내용)}}}}}}}}}{{{#!wiki style="margin: 0 -0.625em 0 -0.25em; display: inline"
611
{{{}} }}}}}}{{{#!wiki style="margin: 0 0 0 -0.25em; display: inline"
602612
{{{} }}}}}}||
603613
|| 추정되는 문법 ||
604614
If구문은 고장난 구문(문법)은 아니지만, ---잠수함 패치로 인해--- 변수를 연결할 수 있는 입력방법을 찾아야 한다. 조건부에 텍스트값, 정수 숫자값, 실수 숫자값, 논리값(true 또는 false)은 지원되는 입력으로 보인다. 연산할 값의 종류와 연산하여 나오는 값의 종류에 알맞은 기호만 쓴다면 원하는 설계에서 크게 벗어나지 않게 이용할 수 있다.