r69
r1
1[[분류:테스트]]
2[목차]
r24
3== 개요 ==
r30
4[[https://namu.wiki/w/%EB%82%98%EB%AC%B4%EC%9C%84%ED%82%A4:%EB%AC%B8%EB%B2%95%20%EB%8F%84%EC%9B%80%EB%A7%90/%EC%8B%AC%ED%99%94#if|나무위키:문법 도움말/심화 문서의 if 문단]]도 참고.
5
r24
6if 구문 테스트.
r1
7RAW(원문) 참조.
r63
8
r24
9== true, false ==
r1
10{{{#!undefined_command @a@==1
111}}}
12----
r54
13if true 1 (정의되지 않는 #!(Shebang) 구문(문법)이면 리터럴로 출력되어야 하겠으나 if는 그렇지 않다.[* 다만 아카라이브 채널위키에는 구현되어 있지 않아서 #!if까지 문구로 나온다.])
r1
14{{{#!if true
r41
151 (true는 출력된다.)}}}
r1
16----
17if false 1
18{{{#!if false
r41
191 (false는 출력되지 않는다.)}}}
r63
20
r24
21== 매개변수 테스트 ==
r22
22[include(틀:상세 내용, 설명대상=매개변수 대상, 문서명=테스트:If문법/include 대상)]
23[include(틀:상세 내용, 설명대상=매개변수 대상의 include 테스트 결과, 문서명=테스트:If문법/include 결과)]
r63
24
r53
25== | 기호 테스트 ==
r42
26=== 논리 연산 ===
r53
27| 기호 테스트 (둘 다 true)
r1
28{{{#!if (1==1)|(1==0)
r24
29출력 (| 기호)}}}
r1
30----
r53
31| 기호 테스트 (둘 중 한 쪽 false)
r1
32{{{#!if (1==2)|(2==2)
r24
33출력 (| 기호)}}}
r1
34----
r53
35| 기호 테스트 (둘 다 false)
r1
36{{{#!if (1==2)|(1==0)
r24
37출력 (| 기호)}}}
r23
38----
r41
39true | true : 출력된다.
r23
40{{{#!if true | true
r24
41출력(| 기호)}}}
r23
42----
r41
43true | false : 출력된다.
r23
44{{{#!if true | false
r24
45출력 (| 기호)}}}
r23
46----
r41
47false | true : 출력된다.
r23
48{{{#!if false | true
r24
49출력 (| 기호)}}}
r23
50----
r41
51false | false : 출력되지 않는다.
r23
52{{{#!if false | false
r24
53출력 (| 기호)}}}
54----
55결론 : | 기호는 논리연산 OR
r42
56
57----
58true || true : 출력된다.
59{{{#!if true || true
60출력 (| 기호)}}}
61----
62true ||| true : 출력되지 않는다.
63{{{#!if true ||| true
64출력 (| 기호)}}}
65
r35
66=== 비트 연산 ===
r42
67| 기호가 2진수 비트합으로도 처리되는 것은, true와 false 진리값이 각각 1, 0인 논리를 시스템상에서 나타내므로
r33
68|| || case1 || case2 || case3 || case4 ||
69|| A || 1 || 1 || 0 || 0 ||
70|| B || 1 || 0 || 1 || 0 ||
71|| A|B || 1 || 1 || 1 || 0 ||
r42
72표와 같이 처리되기 때문으로 보인다. (1을 true, 0을 false 놓고 보면 | 연산 결과가 같다.)
r33
73
r41
74그래서 이진법도 각 자릿수별로 | 연산 비교가 가능한 것으로 보인다.
75가령 5|3을 보자면 이진법으로 변환한 값의 각 자릿수에 따라 연산이 된다.
r33
76|| 10진수 || 2^^^2^^^ || 2^^^1^^^ || 2^^^0^^^ ||
77|| 5 = || 1 || 0 || 1 ||
78|| 3 = || 0 || 1 || 1 ||
79|| (5|3) = 7 || 1 || 1 || 1 ||
80----
r41
81(5|3)=7 테스트 : 출력된다.
r33
82{{{#!if (5|3) ==7
83출력}}}
84----
r41
85(5|3)=6 테스트 : 출력되지 않는다.
r33
86{{{#!if (5|3) ==6
87출력}}}
r63
88그래서 (5|3)=7 을 조건부로 둔 if 구문(문법)을 걸어 놓으면 true로 동작되는 것으로 보인다.
r33
89----
90(9|5)=13 테스트
r42
91|| 10진수 || 2^^^3^^^ || 2^^^2^^^ || 2^^^1^^^ || 2^^^0^^^ ||
92|| 9 = || 1 || 0 || 0 || 1 ||
93|| 5 = || 0 || 1 || 0 || 1 ||
94|| (9|5) = 13 || 1 || 1 || 0 || 1 ||
r33
95{{{#!if (9|5) ==13
96출력 (1101)}}}
97----
r41
98(9|5)=12 테스트 : 일(2^^^0^^^)의 자릿수가 틀려서 출력되지 않는다.
r33
99{{{#!if (9|5) ==12
100출력 (1101)}}}
r42
101
r24
102== & 기호 테스트 ==
r42
103=== 논리 연산 ===
r53
104& 기호 테스트 (한 쪽 false) : 출력되지 않는다.
r1
105{{{#!if (1==1)&(1==0)
r24
106출력 (& 기호)}}}
r1
107----
r53
108& 기호 테스트 (한 쪽 false) : 출력되지 않는다.
r1
109{{{#!if (1==0)&(3==3)
r24
110출력 (& 기호)}}}
r1
111----
r41
112& 기호 테스트 (둘 다 true) : 출력된다.
r1
113{{{#!if (1==1)&(0==0)
r24
114출력 (& 기호)}}}
r23
115----
r41
116true & true : 출력된다.
r23
117{{{#!if true & true
r24
118출력 (& 기호)}}}
r23
119----
r41
120true & false : 출력되지 않는다.
r23
121{{{#!if true & false
r24
122출력 (& 기호)}}}
r23
123----
r41
124false & true : 출력되지 않는다.
r23
125{{{#!if false & true
r24
126출력 (& 기호)}}}
r23
127----
r41
128false & false : 출력되지 않는다.
r23
129{{{#!if false & false
r24
130출력 (& 기호)}}}
131----
132결론 : & 기호는 논리연산 AND
r63
133
r42
134=== 비트 연산 ===
135& 기호가 2진수 비트곱으로도 처리되는 것은, |기호와 같이 true와 false 진리값이 각각 1, 0인 논리를 시스템상에서 나타내므로
136|| || case1 || case2 || case3 || case4 ||
137|| A || 1 || 1 || 0 || 0 ||
138|| B || 1 || 0 || 1 || 0 ||
139|| A&B || 1 || 0 || 0 || 0 ||
r43
140표와 같이 처리되기 때문으로 보인다. (1을 true, 0을 false 놓고 보면 & 연산 결과가 같다.)
r42
141
142----
143|| 10진수 || 2^^^4^^^ || 2^^^3^^^ || 2^^^2^^^ || 2^^^1^^^ || 2^^^0^^^ ||
144|| 25 || 1 || 1 || 0 || 0 || 1 ||
145|| 19 || 1 || 0 || 0 || 1 || 1 ||
146|| (25&19) = 17 || 1 || 0 || 0 || 0 || 1 ||
147if (25&19)=17 : 출력된다.
148{{{#!if (25&19)==17
149출력}}}
150----
151if (25&19)=19 : 2^^^1^^^의 자릿수가 틀려서 출력되지 않는다.
152{{{#!if (25&19)==19
153출력}}}
154
r43
155----
156|| 10진수 || 2^^^4^^^ || 2^^^3^^^ || 2^^^2^^^ || 2^^^1^^^ || 2^^^0^^^ ||
157|| 20 || 1 || 0 || 1 || 0 || 0 ||
158|| 11 || 0 || 1 || 0 || 1 || 1 ||
159|| (20&11) = 0 || 0 || 0 || 0 || 0 || 0 ||
160if (20&11)=0
161{{{#!if (20&11)==0
162출력}}}
163----
r63
164
r24
165== 부등호 테스트 ==
r41
166연산 테스트 (음수도 읽는 모양이다.)
r1
167{{{#!if (1<2)&(2>=-3)
r24
168출력 (연산 테스트)}}}
r1
169----
r41
170geq('''g'''reater than or '''eq'''ual to)를 >=로 입력 안 하고 =>로 입력하면 깨진다.
r1
171{{{#!if (1<2)&(2=>-3)
r24
172출력 (연산 테스트)}}}
r1
173----
r41
174geq 동작 가능 인증 (if 1>=1 걸면 true로 나온다.)
r8
175{{{#!if (1>=1)
r24
176출력 (연산 테스트)}}}
r1
177----
r41
178leq('''l'''ess than or '''eq'''ual to)를 <=로 입력 안 하고 =<로 입력하면 깨진다.
r8
179{{{#!if -100=<99
r24
180출력 (연산 테스트)}}}
r1
181----
r41
182leq(<=) 로 해도 나오지 않다가 ---잠수함 패치로--- fix된 모양이다.
r8
183{{{#!if -100<=99
r24
184출력 (연산 테스트)}}}
r8
185----
r41
186leq 동작 가능 인증 (if 1<=1 걸면 true로 나온다.)
r8
187{{{#!if (1<=1)
r24
188출력 (연산 테스트)}}}
r8
189----
r1
190< and >=
191{{{#!if (-100<-99)&(-98>=-99)
r24
192출력 (연산 테스트)}}}
r1
193----
r41
194\> 부등호도 가능하다.
r1
195{{{#!if 10>9
r24
196출력 (연산 테스트)}}}
r1
197----
198(true and true) or (false and true)
199{{{#!if ((4==4)&(-2>-3))|((1>0)&(2<4))
r24
200출력 (연산 테스트)}}}
r9
201----
r41
202* (times) 기호 : 출력된다.
r9
203{{{#!if 2*3==6
r24
204출력 (연산 테스트)}}}
r9
205----
r41
206* 식 을 틀리게 만들면 출력되지 않는다. (따라서 *는 지원되는 모양이다.)
r12
207{{{#!if 2*3==5
r24
208출력 (연산 테스트)}}}
r12
209----
r9
210/ (devided by)
211{{{#!if 10/5==2
r24
212출력 (연산 테스트)}}}
r10
213----
r41
214/ 식을 틀리게 만들면 나오지 않는다. (따라서 /는 지원되는 모양이다.)
r12
215{{{#!if 10/5==1
r24
216출력 (연산 테스트)}}}
r25
217----
r41
218결론 : * / > >= < <= 연산기호는 지원되는 모양이다.
r63
219
r24
220== ^ 기호 테스트 ==
r60
221=== 논리 연산 ===
r24
222^ (exponent?)
r10
223{{{#!if 10^4==10000
r24
224출력 (^기호)}}}
r11
225----
226^(1/2)
227{{{#!if 1024^(1/2)==32
r24
228출력 (^기호)}}}
r12
229----
r41
230^ 틀리게 해도 나오는 것으로 봐서는 지원되지 않는 모양이다?[* 지수가 아니라 프로그래밍 전용 연산]
r12
231{{{#!if 10^4==9999
r24
232출력 (^기호)}}}
233----
r41
234true ^ true : 출력되지 않는다.
r24
235{{{#!if true ^ true
236출력 (^ 기호)}}}
237----
r41
238true ^ false : 출력된다.
r24
239{{{#!if true ^ false
240출력 (^ 기호)}}}
241----
r41
242false ^ true : 출력된다.
r24
243{{{#!if false ^ true
244출력 (^ 기호)}}}
245----
r41
246false & false : 출력되지 않는다.
r24
247{{{#!if false ^ false
248출력 (^ 기호)}}}
249----
r63
250A^B==C {{{-2 ([math(A \neq 0,\ B \neq C)])}}}꼴을 if 조건문으로 걸어 놨는데 true가 된 것은, ==를 먼저 연산해서 A^false가 되었는데 A가 0이 아니므로 true로 읽히게 되어 A^false가 true로 반환되서 if 조건문이 true로 되어버린 모양.
r59
2511^2==3 : 1^false가 되어 출력된다.
252{{{#!if 1^2==3
253출력}}}
254----
2551^1==1 : 1^true가 되어 출력되지 않는다.
256{{{#!if 1^1==1
257출력}}}
258----
2590^1==2 : 0^false가 되어 출력되지 않는다.
r58
260{{{#!if 0^1==2
261출력}}}
r59
262----
2630^1==1 : 0^true가 되어 출력된다.
264{{{#!if 0^1==1
265출력}}}
266----
267결론 : ^는 논리연산 XOR
r63
268
r60
269=== 비트 연산 ===
270| 기호, & 기호와 같이 2진법의 각 자릿수별로 계산된다.
271
272|| 10진법 || 2^^^4^^^ || 2^^^3^^^ || 2^^^2^^^ || 2^^^1^^^ || 2^^^0^^^ ||
273|| 20 || 1 || 0 || 1 || 0 || 0 ||
274|| 11 || 0 || 1 || 0 || 1 || 1 ||
275|| (20^11)=31 || 1 || 1 || 1 || 1 || 1 ||
276(20^11)=31 : 출력된다.
277{{{#!if (20^11)==31
278출력 (20^11)=31}}}
279----
280(20^11)=30 : 2^^^0^^^의 자릿수가 틀려서 출력되지 않는다.
281{{{#!if (20^11)==30
282출력}}}
r66
283-----
284양변에 ^을 걸어도 출력된다.
285|| 10진법 || 2^^^4^^^ || 2^^^3^^^ || 2^^^2^^^ || 2^^^1^^^ || 2^^^0^^^ ||
286|| 17 || 1 || 0 || 0 || 0 || 1 ||
287|| 14 || 0 || 1 || 1 || 1 || 0 ||
288|| (17^14)=31 || 1 || 1 || 1 || 1 || 1 ||
289(20^11)==(17^14) : 출력된다.
290{{{#!if (20^11)==(17^14)
291출력 }}}
292----
293(20^10)==(17^14) : 2^^^0^^^의 자릿수가 틀려서 출력되지 않는다.
294{{{#!if (20^10)==(17^14)
295출력 }}}
r53
296== ! 기호 테스트 ==
r41
297false == false : 출력된다.
r27
298{{{#!if false==false
299출력 (f=f)}}}
300----
r41
301false == true : 출력되지 않는다.
r27
302{{{#!if false==true
303출력 (f=f)}}}
304----
r41
305false != true : 출력된다.
r27
306{{{#!if false != true
307출력 (!= 기호)}}}
308----
r41
3091!=0 : 출력된다.
r27
310{{{#!if 1!=0
311출력 (1!=0)}}}
312----
r41
3131 !=0 : 출력된다.
r28
314{{{#!if 1 !=0
315출력 (1 !=0)}}}
316----
r41
3171 !==0 : 출력되지 않는다.
r28
318{{{#!if 1 !==0
319출력 (1!==0)}}}
320----
r56
321!(1==0) : 출력된다.
322{{{#!if !(1==0)
323출력 !(1==0)}}}
324----
r41
3251<0 : 출력되지 않는다.
r28
326{{{#!if 1<0
327출력 (1<0)}}}
328----
r41
3291 !< 0 : 출력되지 않는다.
r28
330{{{#!if 1 !< 0
331출력 (1!< 0)}}}
332----
r41
3331 !(<) 0 : 출력되지 않는다. 부등호에 걸 수 있는 기호가 아니라서 깨진 모양이다.
r32
334{{{#!if 1 !(<) 0
335출력 (1!(<) 0)}}}
336----
r41
337!(1<0) : 출력된다.
r28
338{{{#!if !(1<0)
339출력 !(1<0)}}}
340----
r41
341!(true and true) : 출력되지 않는다.
r27
342{{{#!if !(true&true)
343출력 !(t&t)}}}
344----
r41
345!(true and false) : 출력된다.
r27
346{{{#!if !(true&false)
347출력 !(t&f)}}}
348----
r41
349!(false and false) : 출력된다.
r27
350{{{#!if !(false&false)
351출력 !(f&f)}}}
r41
352그냥 and 식 전체에 ! 씌우면 nand가 된다.
r28
353----
r29
354!(true ^ true)
355{{{#!if !(true^true)
356출력 !(t^t)}}}
357----
358!(true ^ false)
359{{{#!if !(true^false)
360출력 !(t^f)}}}
361----
362!(false ^ true)
363{{{#!if !(false^true)
364출력 !(f^t)}}}
365----
r28
366!(false ^ false)
367{{{#!if !(false^false)
368출력 !(f^f)}}}
r31
369그냥 ^ 식 전체에 ! 씌우면 xand(nxor)이다.
370----
r41
371!(!true) : 출력된다 (not of not)
r31
372{{{#!if !(!true)
373출력 !(!t)}}}
374----
r41
375!!true : 출력되지 않는다. !는 범위를 입력해줘야 동작되는 모양.
r31
376{{{#!if !!true)
377출력 (!!t)}}}
378----
r41
379not of not of not of true : 출력되지 않는다.
r31
380{{{#!if !(!(!true))
381출력 !(!(!t))}}}
382----
r41
383not of not of not of not of true ---사각형안의사각형안의--- : 출력된다.
r31
384{{{#!if !(!(!(!true)))
385출력 !(!(!(!t)))}}}
386----
r56
3870 : 진리값 0 (false)으로 읽히는지 출력되지 않는다.
388{{{#!if (0)
389출력}}}
390----
391!(0) : 출력된다.
392{{{#!if !(0)
393출력}}}
394----
3951 : 진리값 1 (true)으로 읽히는지 출력된다.
396{{{#!if (1)
397출력}}}
398----
399!(1) : 출력되지 않는다.
400{{{#!if !(1)
401출력}}}
402----
4032 : 출력된다.
404{{{#!if (2)
405출력}}}
406----
407!(2) : 출력되지 않는다.
408{{{#!if !(2)
409출력}}}
410----
4110.5 : 출력된다.
412{{{#!if (0.5)
413출력}}}
414----
415!(0.5) : 출력되지 않는다.
416{{{#!if !(0.5)
417출력}}}
418----
r31
419결론 : !는 논리연산 NOT이고, 범위를 지정해줘야 동작된다.
r56
420---0만 아니면 될까?---
r36
421
r53
422== ~ 기호 테스트 ==
r41
423~false : 출력된다.
r36
424{{{#!if ~false
r38
425출력 ~f}}}
r37
426----
r41
427~(~true) : 출력된다.
r37
428{{{#!if ~(~true)
429출력 ~(~t)}}}
430----
r41
431~(!(~(!true))) : 출력된다.
r37
432{{{#!if ~(!(~(!true)))
433출력 ~(!(~(!t)))}}}
434----
r41
435~true : 출력된다.
r37
436{{{#!if ~true
437출력 ~t}}}
438----
r41
439~(true) : 출력된다.
r37
440{{{#!if ~(true)
441출력 ~(t)}}}
442----
r41
443(~true) : 출력된다.
r38
444{{{#!if (~true)
445출력 (~t)}}}
446----
r41
447~~true : 출력된다.
r37
448{{{#!if ~~true
449출력 ~~t}}}
450----
r41
451~(-1)=0 : 출력된다.
r38
452{{{#!if ~(-1)==0
453출력}}}
454----
r41
455~(-1)=1 : 출력되지 않는다.
r38
456{{{#!if ~(-1)==1
457출력}}}
458----
r41
459~(-2)=1 : 출력된다.
r39
460{{{#!if ~(-2)==1
461출력}}}
462----
r53
463~(~1)=1 : 출력된다.
464{{{#!if ~(~1)==1
465출력}}}
466----
r41
467~false=false : 출력되지 않는다.
r38
468{{{#!if ~false==false
469출력}}}
470----
r41
471~false=true : 출력되지 않는다.
r38
472{{{#!if ~false==true
473출력}}}
474----
r41
475~(!(true))=false : 출력되지 않는다.
r38
476{{{#!if ~(!true)==false
477출력}}}
478----
r41
479결론 : ~ 기호는 논리 연산으로는 동작되지 않는다.
r40
480
481다만 위의 ~(-1)==1 을 가져와서 비트 연산이 참인지 거짓인지 나오는 결과를 두고 논리식을 만들기는 가능하다.
r41
482!(~(-1)==1) : false 부정이므로 출력된다.
r40
483{{{#!if !(~(-1)==1)
484출력}}}
r42
485----
486---만약에 if ~A|B을 해본다면?---
487
r48
488== % 기호 테스트 ==
489%는 윈도우즈 계산기 공학용에서 "%키"로도 쓰인다.
r52
490[math(5^2 \equiv 4\ (\bmod 7))] : ---그냥 왼쪽 식은 복잡한 식이고[* {{{#!wiki
491사실 [math(\equiv 11 \equiv 18 \equiv 25 \equiv 32 \equiv \cdots\ (\bmod 7))] 이지만 이 식에서는 오른쪽 수는 0 이상의 정수 가운데서 식을 만족하는 가장 작은 값을 생각한다.[br]물론 다음도 출력된다.
492if 18%7=32%7
493{{{#!if 18%7==32%7
494출력 (18%7=32%7)}}}
495
496여기서 %를 적어놓지 않으면 출력되지 않는다.
497예 : 5**2=11 로만 적어놓으면 출력되지 않는다.
498{{{#!if 5**2%7==11
499출력 (5**2%7=11)}}}}}}] --- 5^^^2^^^=25를 7로 나눈 나머지는 4이다.
r48
500{{{#!if 5**2%7==4
r52
501출력 (5^^^2^^^%7=4)
502----}}}
r48
503----
504식을 틀리게 적으면 출력되지 않는다.
505{{{#!if 5**2%7==3
506출력}}}
r50
507----
r63
508
r24
509== 역링크 등 기타 테스트 ==
r15
510||If true [[틀:토론]] include[br]{{{#!if true
511[include(틀:토론)]}}}||
512||If false [[틀:폐쇄]] include[br]
r13
513{{{#!if false
r15
514[include(틀:폐쇄)]}}}||
515출력이 되지 않는 틀은 역링크를 조회해보면 include로 역링크가 걸리지 않는다.
r13
516----
r15
517||If true [[:분류:나무마크 문법|분류:나무마크 문법]][br]{{{#!if true
518[[분류:나무마크 문법]]}}}||
519||If false [[:분류:위키]][br]{{{#!if false
520[[분류:위키]]}}}||
r16
521출력이 되지 않는 분류로는 해당 문서가 포함되지 않는다.
r17
522----
523||If true \#\#\@[br]{{{#!if true
r18
524##@if true
r17
525}}}||
526||If false \#\#\@[br]{{{#!if false
r18
527##@if false
r17
528}}}||
r18
529\#\#\@ 테스트. If 문구 사이에 \#\#\@를 끼워넣어도 편집창 상단 표시에 출력되어 나온다.
r17
530----
531{{{#!if false
532이 내용은 false라서 나오지 않습니다.
533예시 :
534토론 합의 내용
535 * 문서명(표제어)을 A로 정한다. (/threadslug1 토론 합의)
536 * 문서의 B 서술을 존치한다. (/threadslug2 토론 합의)
537 * 문서의 C 서술을 삭제한다. (/threadslug3 토론 합의)
538}}}
r41
539출력되지 않는 점을 이용하면 [[\#\#주석]] 못지 않게 활용할 수 있을 듯하다.
r24
540----
r54
541제곱근
542[math(2\times\sqrt{3}=\sqrt{12})] : 출력된다.
543{{{#!if 2.0*(3.0**0.5)==12.0**0.5
544출력}}}
545----
r55
546다만, 아직까지는 [math(\sqrt{a}\times\sqrt{b}=\sqrt{ab})] 식이 정확히 동작되는지 더 살펴봐야 할듯.
547[math(\sqrt{13}\times\sqrt{10}=\sqrt{130})] : 출력된다.
548{{{#!if (13.0**0.5)*(10.0**0.5)==130.0**0.5
549출력}}}
550----
551[math(\sqrt{13}\times\sqrt{11}=\sqrt{143})] : 출력되지 않는다.
552{{{#!if (13.0**0.5)*(11.0**0.5)==(143.0**0.5)
553출력}}}
554----
r65
555%랑 엮이는 것인가?
556[math(\sqrt{13}\times\sqrt{11} {\color{blue}{\text{\%1000}}} =\sqrt{143} {\color{blue}{\text{\%1000}}})] : 출력된다.
557{{{#!if (13.0**0.5)*(11.0**0.5)%1000==(143.0**0.5)%1000
558출력}}}
559----
r55
560[math(\sqrt{12}\times\sqrt{11}=\sqrt{132})] : 출력된다.
561{{{#!if (12.0**0.5)*(11.0**0.5)==(132.0**0.5)
562출력}}}
563----
564[math(\sqrt{11}\times\sqrt{11}=\sqrt{121})] : 출력된다.
565{{{#!if (11.0**0.5)*(11.0**0.5)==(121.0**0.5)
566출력}}}
567----
r45
568지수의 지수
r63
569{{{+2 2^^^{{{#!wiki style="display: inline"
r44
5702^^^2^^^}}}^^^=16}}} : 출력된다.
571{{{#!if 2.0**(2.0**2.0)==0**1+16
572출력}}}
573----
r63
574{{{+1 2^^^{{{#!wiki style="display: inline"
r44
5752^^^2^^^}}}^^^=15}}}로 하면 출력되지 않는다.
576{{{#!if 2.0**(2.0**2.0)==0**1+15
577출력}}}
578----
r63
579{{{+2 3^^^{{{#!wiki style="display: inline"
r46
5803^^^2^^^}}}^^^=3^^^9^^^=19683}}} : 출력된다.
581{{{#!if 3.0**(3.0**2.0)==0**1+19683
r44
582출력}}}
583----
r63
584{{{+2 3^^^{{{#!wiki style="display: inline"
r46
5853^^^2^^^}}}^^^=3^^^9^^^=19682}}} : 출력되지 않는다.
586{{{#!if 3.0**(3.0**2.0)==0**1+19682
r44
587출력}}}
588----
r45
589지수의 지수의 지수
r63
590{{{+2 2^^^{{{#!wiki style="display: inline"
5912^^^{{{#!wiki style="display: inline"
r45
5922^^^2^^^}}}^^^}}}^^^=2^^^16^^^=65536}}} : 출력된다.
593{{{#!if 2.0**(2.0**(2.0**2.0))==0**1+65536
594출력}}}
595----
r63
596{{{+2 2^^^{{{#!wiki style="display: inline"
5972^^^{{{#!wiki style="display: inline"
r45
5982^^^2^^^}}}^^^}}}^^^=2^^^16^^^=65535}}} : 출력되지 않는다.
599{{{#!if 2.0**(2.0**(2.0**2.0))==0**1+65535
600출력}}}
601----
r63
602무한 지수 탑 함수 테스트를 해볼 겸 지수의 지수의 지수의 지수(...)를 테스트 해볼 수는 있겠지만 적당한 값을 넣어야 한다. 가령 {{{+2 2^^^{{{#!wiki style="display: inline"
6032^^^{{{#!wiki style="display: inline"
6042^^^{{{#!wiki style="display: inline"
r49
6052^^^2^^^}}}^^^}}}^^^}}}^^^}}}를 계산기에서 계산하면 {{{오버플로}}}가 나온다.
606----
r44
607[math(\left(1^{{1}\over{2}}\right)^{2}=1)]
608{{{#!if (1.0**0.5)**2.0==0**1+1
609출력}}}
610----
r45
611[math(\left((-1)^{{1}\over{2}}\right)^{2}=-1)] : [[허수]]는 불가능한 모양이다.
612{{{#!if ((-1.0)**0.5)**2.0==0.0**1.0-1.0
r44
613출력}}}
614
r67
615----
616Zeroization. 자기 자릿수 이상으로 밀어버리면 0이 된다.
6171>>1=0 : 출력된다.
618{{{#!if 1>>1==0
619출력}}}
620----
r69
62142<2^^^6^^^=64이므로 2진법으로 6자리 숫자임을 이용.
r67
62242>>5==1 : 출력된다.
r68
623{{{#!if 42>>5==1
r67
624출력}}}
625----
62642>>5==0 : 42의 2^^^5^^^ 자릿수가 1이었으므로 출력되지 않는다.
r68
627{{{#!if 42>>5==0
r67
628출력}}}
629----
63042>>6==1 : 출력되지 않는다.
631{{{#!if 42>>6==1
632출력}}}
633----
63442>>6==0 : 출력된다.
635{{{#!if 42>>6==0
636출력}}}
637----
63842>>7==0 : 출력된다.
639{{{#!if 42>>7==0
640출력}}}
641----
r69
64242={{{#blue 101}}}010,,,(2),,,
64395={{{#blue 101}}}1111,,,(2),,,
64442>>3==5, 95>>4==5이므로 42>>3==95>>4는 출력된다.
645{{{#!if 42>>3==95>>4
646출력}}}
r26
647== 메모 ==
648If 조건문에 함수를 넣을 수 있을까?
649예 : dday를 넣어서 누구누구 운영자가 재직 며칠이 되었음을 적을 수 있음.
r61
650
r62
651if 가 나왔으니 while, for 등 루프 연산, 그리고 더 나아가서 변수값 재지정, break, continue 등 구문이 나올 수 있어 보인다. 그렇게 나오게 되면 문서는 하나의 스크립트가 될 수 있다. 루프(loop) 연산이 나오게 되면 [[2021년 the seed 엔진 위키 서버 과부하 사건|include 과부하 요청]] 같이 무한히 지속되는 연산 요청을 내지 않도록 시스템에서 의도적으로 루프를 몇 번까지만 반복할 수 있도록 제한을 걸어둘 것으로 보인다.
r63
652
r1
653== 결론 ==
r64
654||{{{#!wiki style="margin: 0 0 0 -0.25em; display: inline; font-family:monospace;"
655\{\{\{#!if {{{#blue (논리식)}}}
656{{{#green (true이면 출력할 내용)}}}\}\}\}}}}||
r1
657|| 추정되는 문법 ||
r47
658If구문은 고장난 구문(문법)은 아니지만, ---잠수함 패치로 인해--- 변수를 연결할 수 있는 입력방법을 찾아야 한다. 조건부에 텍스트값, 정수 숫자값, 실수 숫자값, 논리값(true 또는 false)은 지원되는 입력으로 보인다. 연산할 값의 종류와 연산하여 나오는 값의 종류에 알맞은 기호만 쓴다면 원하는 설계에서 크게 벗어나지 않게 이용할 수 있다.