r120
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
r81
6if 구문(if 문법) 테스트용 [[위키위키]] 문서.
7편집하거나 검증할 때 RAW(원문)를 참조할 수 있다.
8if 구문은 문서에서만이 아니라 토론 스레드에도 지원된다.
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
r82
21{{{#orange 결론}}} : true는 논리값 true로 동작된다.
r89
22
r53
23== | 기호 테스트 ==
r42
24=== 논리 연산 ===
r53
25| 기호 테스트 (둘 다 true)
r1
26{{{#!if (1==1)|(1==0)
r24
27출력 (| 기호)}}}
r1
28----
r53
29| 기호 테스트 (둘 중 한 쪽 false)
r1
30{{{#!if (1==2)|(2==2)
r24
31출력 (| 기호)}}}
r1
32----
r53
33| 기호 테스트 (둘 다 false)
r1
34{{{#!if (1==2)|(1==0)
r24
35출력 (| 기호)}}}
r23
36----
r41
37true | true : 출력된다.
r23
38{{{#!if true | true
r24
39출력(| 기호)}}}
r23
40----
r41
41true | false : 출력된다.
r23
42{{{#!if true | false
r24
43출력 (| 기호)}}}
r23
44----
r41
45false | true : 출력된다.
r23
46{{{#!if false | true
r24
47출력 (| 기호)}}}
r23
48----
r41
49false | false : 출력되지 않는다.
r23
50{{{#!if false | false
r24
51출력 (| 기호)}}}
52----
53결론 : | 기호는 논리연산 OR
r42
54
55----
56true || true : 출력된다.
57{{{#!if true || true
58출력 (| 기호)}}}
59----
60true ||| true : 출력되지 않는다.
61{{{#!if true ||| true
62출력 (| 기호)}}}
63
r35
64=== 비트 연산 ===
r42
65| 기호가 2진수 비트합으로도 처리되는 것은, true와 false 진리값이 각각 1, 0인 논리를 시스템상에서 나타내므로
r33
66|| || case1 || case2 || case3 || case4 ||
67|| A || 1 || 1 || 0 || 0 ||
68|| B || 1 || 0 || 1 || 0 ||
69|| A|B || 1 || 1 || 1 || 0 ||
r42
70표와 같이 처리되기 때문으로 보인다. (1을 true, 0을 false 놓고 보면 | 연산 결과가 같다.)
r33
71
r41
72그래서 이진법도 각 자릿수별로 | 연산 비교가 가능한 것으로 보인다.
73가령 5|3을 보자면 이진법으로 변환한 값의 각 자릿수에 따라 연산이 된다.
r33
74|| 10진수 || 2^^^2^^^ || 2^^^1^^^ || 2^^^0^^^ ||
75|| 5 = || 1 || 0 || 1 ||
76|| 3 = || 0 || 1 || 1 ||
77|| (5|3) = 7 || 1 || 1 || 1 ||
78----
r41
79(5|3)=7 테스트 : 출력된다.
r33
80{{{#!if (5|3) ==7
81출력}}}
82----
r41
83(5|3)=6 테스트 : 출력되지 않는다.
r33
84{{{#!if (5|3) ==6
85출력}}}
r63
86그래서 (5|3)=7 을 조건부로 둔 if 구문(문법)을 걸어 놓으면 true로 동작되는 것으로 보인다.
r33
87----
88(9|5)=13 테스트
r42
89|| 10진수 || 2^^^3^^^ || 2^^^2^^^ || 2^^^1^^^ || 2^^^0^^^ ||
90|| 9 = || 1 || 0 || 0 || 1 ||
91|| 5 = || 0 || 1 || 0 || 1 ||
92|| (9|5) = 13 || 1 || 1 || 0 || 1 ||
r33
93{{{#!if (9|5) ==13
94출력 (1101)}}}
95----
r41
96(9|5)=12 테스트 : 일(2^^^0^^^)의 자릿수가 틀려서 출력되지 않는다.
r33
97{{{#!if (9|5) ==12
98출력 (1101)}}}
r42
99
r24
100== & 기호 테스트 ==
r42
101=== 논리 연산 ===
r53
102& 기호 테스트 (한 쪽 false) : 출력되지 않는다.
r1
103{{{#!if (1==1)&(1==0)
r24
104출력 (& 기호)}}}
r1
105----
r53
106& 기호 테스트 (한 쪽 false) : 출력되지 않는다.
r1
107{{{#!if (1==0)&(3==3)
r24
108출력 (& 기호)}}}
r1
109----
r41
110& 기호 테스트 (둘 다 true) : 출력된다.
r1
111{{{#!if (1==1)&(0==0)
r24
112출력 (& 기호)}}}
r23
113----
r41
114true & true : 출력된다.
r23
115{{{#!if true & true
r24
116출력 (& 기호)}}}
r23
117----
r41
118true & false : 출력되지 않는다.
r23
119{{{#!if true & false
r24
120출력 (& 기호)}}}
r23
121----
r41
122false & true : 출력되지 않는다.
r23
123{{{#!if false & true
r24
124출력 (& 기호)}}}
r23
125----
r41
126false & false : 출력되지 않는다.
r23
127{{{#!if false & false
r24
128출력 (& 기호)}}}
129----
r63
130
r82
131{{{#orange 결론}}} : & 기호는 논리연산 AND
132
r42
133=== 비트 연산 ===
134& 기호가 2진수 비트곱으로도 처리되는 것은, |기호와 같이 true와 false 진리값이 각각 1, 0인 논리를 시스템상에서 나타내므로
135|| || case1 || case2 || case3 || case4 ||
136|| A || 1 || 1 || 0 || 0 ||
137|| B || 1 || 0 || 1 || 0 ||
138|| A&B || 1 || 0 || 0 || 0 ||
r43
139표와 같이 처리되기 때문으로 보인다. (1을 true, 0을 false 놓고 보면 & 연산 결과가 같다.)
r42
140
141----
142|| 10진수 || 2^^^4^^^ || 2^^^3^^^ || 2^^^2^^^ || 2^^^1^^^ || 2^^^0^^^ ||
143|| 25 || 1 || 1 || 0 || 0 || 1 ||
144|| 19 || 1 || 0 || 0 || 1 || 1 ||
145|| (25&19) = 17 || 1 || 0 || 0 || 0 || 1 ||
146if (25&19)=17 : 출력된다.
147{{{#!if (25&19)==17
148출력}}}
149----
150if (25&19)=19 : 2^^^1^^^의 자릿수가 틀려서 출력되지 않는다.
151{{{#!if (25&19)==19
152출력}}}
153
r43
154----
155|| 10진수 || 2^^^4^^^ || 2^^^3^^^ || 2^^^2^^^ || 2^^^1^^^ || 2^^^0^^^ ||
156|| 20 || 1 || 0 || 1 || 0 || 0 ||
157|| 11 || 0 || 1 || 0 || 1 || 1 ||
158|| (20&11) = 0 || 0 || 0 || 0 || 0 || 0 ||
159if (20&11)=0
160{{{#!if (20&11)==0
161출력}}}
162----
r63
163
r24
164== 부등호 테스트 ==
r41
165연산 테스트 (음수도 읽는 모양이다.)
r1
166{{{#!if (1<2)&(2>=-3)
r24
167출력 (연산 테스트)}}}
r1
168----
r41
169geq('''g'''reater than or '''eq'''ual to)를 >=로 입력 안 하고 =>로 입력하면 깨진다.
r1
170{{{#!if (1<2)&(2=>-3)
r24
171출력 (연산 테스트)}}}
r1
172----
r41
173geq 동작 가능 인증 (if 1>=1 걸면 true로 나온다.)
r8
174{{{#!if (1>=1)
r24
175출력 (연산 테스트)}}}
r1
176----
r41
177leq('''l'''ess than or '''eq'''ual to)를 <=로 입력 안 하고 =<로 입력하면 깨진다.
r8
178{{{#!if -100=<99
r24
179출력 (연산 테스트)}}}
r1
180----
r41
181leq(<=) 로 해도 나오지 않다가 ---잠수함 패치로--- fix된 모양이다.
r8
182{{{#!if -100<=99
r24
183출력 (연산 테스트)}}}
r8
184----
r41
185leq 동작 가능 인증 (if 1<=1 걸면 true로 나온다.)
r8
186{{{#!if (1<=1)
r24
187출력 (연산 테스트)}}}
r8
188----
r1
189< and >=
190{{{#!if (-100<-99)&(-98>=-99)
r24
191출력 (연산 테스트)}}}
r1
192----
r41
193\> 부등호도 가능하다.
r1
194{{{#!if 10>9
r24
195출력 (연산 테스트)}}}
r1
196----
197(true and true) or (false and true)
198{{{#!if ((4==4)&(-2>-3))|((1>0)&(2<4))
r24
199출력 (연산 테스트)}}}
r9
200----
r41
201* (times) 기호 : 출력된다.
r9
202{{{#!if 2*3==6
r24
203출력 (연산 테스트)}}}
r9
204----
r41
205* 식 을 틀리게 만들면 출력되지 않는다. (따라서 *는 지원되는 모양이다.)
r12
206{{{#!if 2*3==5
r24
207출력 (연산 테스트)}}}
r12
208----
r9
209/ (devided by)
210{{{#!if 10/5==2
r24
211출력 (연산 테스트)}}}
r10
212----
r41
213/ 식을 틀리게 만들면 나오지 않는다. (따라서 /는 지원되는 모양이다.)
r12
214{{{#!if 10/5==1
r24
215출력 (연산 테스트)}}}
r25
216----
r82
217{{{#orange 결론}}} : * / > >= < <= 연산기호는 지원되는 모양이다.
r63
218
r24
219== ^ 기호 테스트 ==
r60
220=== 논리 연산 ===
r24
221^ (exponent?)
r10
222{{{#!if 10^4==10000
r24
223출력 (^기호)}}}
r11
224----
225^(1/2)
226{{{#!if 1024^(1/2)==32
r24
227출력 (^기호)}}}
r12
228----
r41
229^ 틀리게 해도 나오는 것으로 봐서는 지원되지 않는 모양이다?[* 지수가 아니라 프로그래밍 전용 연산]
r12
230{{{#!if 10^4==9999
r24
231출력 (^기호)}}}
232----
r41
233true ^ true : 출력되지 않는다.
r24
234{{{#!if true ^ true
235출력 (^ 기호)}}}
236----
r41
237true ^ false : 출력된다.
r24
238{{{#!if true ^ false
239출력 (^ 기호)}}}
240----
r41
241false ^ true : 출력된다.
r24
242{{{#!if false ^ true
243출력 (^ 기호)}}}
244----
r41
245false & false : 출력되지 않는다.
r24
246{{{#!if false ^ false
247출력 (^ 기호)}}}
248----
r63
249A^B==C {{{-2 ([math(A \neq 0,\ B \neq C)])}}}꼴을 if 조건문으로 걸어 놨는데 true가 된 것은, ==를 먼저 연산해서 A^false가 되었는데 A가 0이 아니므로 true로 읽히게 되어 A^false가 true로 반환되서 if 조건문이 true로 되어버린 모양.
r59
2501^2==3 : 1^false가 되어 출력된다.
251{{{#!if 1^2==3
252출력}}}
253----
2541^1==1 : 1^true가 되어 출력되지 않는다.
255{{{#!if 1^1==1
256출력}}}
257----
2580^1==2 : 0^false가 되어 출력되지 않는다.
r58
259{{{#!if 0^1==2
260출력}}}
r59
261----
2620^1==1 : 0^true가 되어 출력된다.
263{{{#!if 0^1==1
264출력}}}
265----
r82
266{{{#orange 결론}}}
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출력 }}}
r83
296== ture, false, !기호 테스트 ==
r41
297false == false : 출력된다.
r27
298{{{#!if false==false
299출력 (f=f)}}}
300----
r83
301true == true : 출력된다.
302{{{#!if true==true
303출력 (t=t)}}}
304----
r41
305false == true : 출력되지 않는다.
r27
306{{{#!if false==true
307출력 (f=f)}}}
308----
r41
309false != true : 출력된다.
r27
310{{{#!if false != true
311출력 (!= 기호)}}}
312----
r41
3131!=0 : 출력된다.
r27
314{{{#!if 1!=0
315출력 (1!=0)}}}
316----
r41
3171 !=0 : 출력된다.
r28
318{{{#!if 1 !=0
319출력 (1 !=0)}}}
320----
r41
3211 !==0 : 출력되지 않는다.
r28
322{{{#!if 1 !==0
323출력 (1!==0)}}}
324----
r56
325!(1==0) : 출력된다.
326{{{#!if !(1==0)
327출력 !(1==0)}}}
328----
r41
3291<0 : 출력되지 않는다.
r28
330{{{#!if 1<0
331출력 (1<0)}}}
332----
r41
3331 !< 0 : 출력되지 않는다.
r28
334{{{#!if 1 !< 0
335출력 (1!< 0)}}}
336----
r41
3371 !(<) 0 : 출력되지 않는다. 부등호에 걸 수 있는 기호가 아니라서 깨진 모양이다.
r32
338{{{#!if 1 !(<) 0
339출력 (1!(<) 0)}}}
340----
r41
341!(1<0) : 출력된다.
r28
342{{{#!if !(1<0)
343출력 !(1<0)}}}
344----
r41
345!(true and true) : 출력되지 않는다.
r27
346{{{#!if !(true&true)
347출력 !(t&t)}}}
348----
r41
349!(true and false) : 출력된다.
r27
350{{{#!if !(true&false)
351출력 !(t&f)}}}
352----
r41
353!(false and false) : 출력된다.
r27
354{{{#!if !(false&false)
355출력 !(f&f)}}}
r41
356그냥 and 식 전체에 ! 씌우면 nand가 된다.
r28
357----
r29
358!(true ^ true)
359{{{#!if !(true^true)
360출력 !(t^t)}}}
361----
362!(true ^ false)
363{{{#!if !(true^false)
364출력 !(t^f)}}}
365----
366!(false ^ true)
367{{{#!if !(false^true)
368출력 !(f^t)}}}
369----
r28
370!(false ^ false)
371{{{#!if !(false^false)
372출력 !(f^f)}}}
r31
373그냥 ^ 식 전체에 ! 씌우면 xand(nxor)이다.
374----
r41
375!(!true) : 출력된다 (not of not)
r31
376{{{#!if !(!true)
377출력 !(!t)}}}
378----
r41
379!!true : 출력되지 않는다. !는 범위를 입력해줘야 동작되는 모양.
r31
380{{{#!if !!true)
381출력 (!!t)}}}
382----
r41
383not of not of not of true : 출력되지 않는다.
r31
384{{{#!if !(!(!true))
385출력 !(!(!t))}}}
386----
r41
387not of not of not of not of true ---사각형안의사각형안의--- : 출력된다.
r31
388{{{#!if !(!(!(!true)))
389출력 !(!(!(!t)))}}}
390----
r56
3910 : 진리값 0 (false)으로 읽히는지 출력되지 않는다.
392{{{#!if (0)
393출력}}}
394----
395!(0) : 출력된다.
396{{{#!if !(0)
397출력}}}
398----
3991 : 진리값 1 (true)으로 읽히는지 출력된다.
400{{{#!if (1)
401출력}}}
402----
403!(1) : 출력되지 않는다.
404{{{#!if !(1)
405출력}}}
406----
4072 : 출력된다.
408{{{#!if (2)
409출력}}}
410----
411!(2) : 출력되지 않는다.
412{{{#!if !(2)
413출력}}}
414----
4150.5 : 출력된다.
416{{{#!if (0.5)
417출력}}}
418----
419!(0.5) : 출력되지 않는다.
420{{{#!if !(0.5)
421출력}}}
422----
r82
423{{{#orange 결론}}} : !는 논리연산 NOT이고, 범위를 지정해줘야 동작된다.
r56
424---0만 아니면 될까?---
r36
425
r53
426== ~ 기호 테스트 ==
r41
427~false : 출력된다.
r36
428{{{#!if ~false
r38
429출력 ~f}}}
r37
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) : 출력된다.
r37
444{{{#!if ~(true)
445출력 ~(t)}}}
446----
r41
447(~true) : 출력된다.
r38
448{{{#!if (~true)
449출력 (~t)}}}
450----
r41
451~~true : 출력된다.
r37
452{{{#!if ~~true
453출력 ~~t}}}
454----
r41
455~(-1)=0 : 출력된다.
r38
456{{{#!if ~(-1)==0
457출력}}}
458----
r41
459~(-1)=1 : 출력되지 않는다.
r38
460{{{#!if ~(-1)==1
461출력}}}
462----
r41
463~(-2)=1 : 출력된다.
r39
464{{{#!if ~(-2)==1
465출력}}}
466----
r53
467~(~1)=1 : 출력된다.
468{{{#!if ~(~1)==1
469출력}}}
470----
r41
471~false=false : 출력되지 않는다.
r38
472{{{#!if ~false==false
473출력}}}
474----
r41
475~false=true : 출력되지 않는다.
r38
476{{{#!if ~false==true
477출력}}}
478----
r41
479~(!(true))=false : 출력되지 않는다.
r38
480{{{#!if ~(!true)==false
481출력}}}
482----
r84
483{{{#orange 결론}}} : ~ 기호는 논리 연산으로는 동작되지 않는다.
r40
484
485다만 위의 ~(-1)==1 을 가져와서 비트 연산이 참인지 거짓인지 나오는 결과를 두고 논리식을 만들기는 가능하다.
r41
486!(~(-1)==1) : false 부정이므로 출력된다.
r40
487{{{#!if !(~(-1)==1)
488출력}}}
r42
489----
490---만약에 if ~A|B을 해본다면?---
491
r48
492== % 기호 테스트 ==
493%는 윈도우즈 계산기 공학용에서 "%키"로도 쓰인다.
r52
494[math(5^2 \equiv 4\ (\bmod 7))] : ---그냥 왼쪽 식은 복잡한 식이고[* {{{#!wiki
495사실 [math(\equiv 11 \equiv 18 \equiv 25 \equiv 32 \equiv \cdots\ (\bmod 7))] 이지만 이 식에서는 오른쪽 수는 0 이상의 정수 가운데서 식을 만족하는 가장 작은 값을 생각한다.[br]물론 다음도 출력된다.
496if 18%7=32%7
497{{{#!if 18%7==32%7
498출력 (18%7=32%7)}}}
499
500여기서 %를 적어놓지 않으면 출력되지 않는다.
501예 : 5**2=11 로만 적어놓으면 출력되지 않는다.
502{{{#!if 5**2%7==11
503출력 (5**2%7=11)}}}}}}] --- 5^^^2^^^=25를 7로 나눈 나머지는 4이다.
r48
504{{{#!if 5**2%7==4
r52
505출력 (5^^^2^^^%7=4)
506----}}}
r48
507----
508식을 틀리게 적으면 출력되지 않는다.
509{{{#!if 5**2%7==3
510출력}}}
r50
511----
r63
512
r82
513== null 과 "" 테스트 ==
514""과 ""은 같다.
515{{{#!if "" == ""
516출력}}}
517----
518Null과 ""은 다르다.
519{{{#!if null == ""
520출력}}}
521----
r87
522좌 우를 바꿔 적어도 다르다.
523{{{#!if "" == null
524출력}}}
525----
r82
526null과 null은 같다.
527{{{#!if null==null
528출력}}}
529----
r86
530if null 은 출력되지 않는다.
531{{{#!if null
532출력}}}
533----
534그럼 앞에서 if false도 출력되지 않았으니까 null==false일까?
r82
535null=false 테스트 하면 출력되지 않는다.
536{{{#!if null==false
537출력}}}
r86
538
539null과 false는 같지 않다. (나무위키 도움말에서) if null이면 거짓이므로 출력이 안 되는 것이 아니라, if 조건부 null이 true 논리값으로 나오지 않아서 출력이 안 되는 것이다. ---틀린 말은 아닌데, 팩트가 하나도 없으면 참은 아니기 때문이다.---
r82
540----
541null과 true는 다르다. null=true 테스트를 하면 출력되지 않는다.
542{{{#!if null==true
543출력}}}
r87
544----
545그리고 if ""를 해도 출력되지 않는다.
546{{{#!if ""
547출력}}}
548----
r82
549{{{#orange 결론 1}}} : 호출할 때 {{{#!wiki style="display: inline; font-family: monospace;"
550{{{#skyblue 변수명}}}=}}}이라고 적으면 {{{#skyblue 변수명}}}은 "정의한 값이 없음(null)"이 아니라 "빈 텍스트 값"이 된다.
551{{{#orange 결론 2}}} : true, false는 "정의한 논리값"이므로 null과 다르다.
552
r105
553{{{#orange 기타}}} : if 구문에 숨은 함수나 연산자가 있는지 찾아보고 싶다면 {{{#dodgerblue 아무 텍스트}}}[* 단, 기호가 들어가지 않을 것]를 가지고 와서 null과 같은지 대조해보면 된다.
r104
554>\{\{\{\#\!if {{{#dodgerblue ''(입력한 텍스트)''}}}==null
555>피노키오의 코는 길어지지 않았다.\}\}\}
556{{{#dodgerblue 입력한 텍스트}}}가 단순 변수명이면 식이 "변수명=null"이 되어 true가 되어 출력할 내용이 나올 것이고, {{{#dodgerblue 입력한 텍스트}}}가 연산자이면 출력되지 않을 것이다.
r84
557== 수 체계 확장 테스트 ==
r54
558제곱근
559[math(2\times\sqrt{3}=\sqrt{12})] : 출력된다.
560{{{#!if 2.0*(3.0**0.5)==12.0**0.5
561출력}}}
562----
r55
563다만, 아직까지는 [math(\sqrt{a}\times\sqrt{b}=\sqrt{ab})] 식이 정확히 동작되는지 더 살펴봐야 할듯.
564[math(\sqrt{13}\times\sqrt{10}=\sqrt{130})] : 출력된다.
565{{{#!if (13.0**0.5)*(10.0**0.5)==130.0**0.5
566출력}}}
567----
568[math(\sqrt{13}\times\sqrt{11}=\sqrt{143})] : 출력되지 않는다.
569{{{#!if (13.0**0.5)*(11.0**0.5)==(143.0**0.5)
570출력}}}
571----
r65
572%랑 엮이는 것인가?
573[math(\sqrt{13}\times\sqrt{11} {\color{blue}{\text{\%1000}}} =\sqrt{143} {\color{blue}{\text{\%1000}}})] : 출력된다.
574{{{#!if (13.0**0.5)*(11.0**0.5)%1000==(143.0**0.5)%1000
575출력}}}
576----
r55
577[math(\sqrt{12}\times\sqrt{11}=\sqrt{132})] : 출력된다.
578{{{#!if (12.0**0.5)*(11.0**0.5)==(132.0**0.5)
579출력}}}
580----
581[math(\sqrt{11}\times\sqrt{11}=\sqrt{121})] : 출력된다.
582{{{#!if (11.0**0.5)*(11.0**0.5)==(121.0**0.5)
583출력}}}
584----
r45
585지수의 지수
r63
586{{{+2 2^^^{{{#!wiki style="display: inline"
r44
5872^^^2^^^}}}^^^=16}}} : 출력된다.
588{{{#!if 2.0**(2.0**2.0)==0**1+16
589출력}}}
590----
r63
591{{{+1 2^^^{{{#!wiki style="display: inline"
r44
5922^^^2^^^}}}^^^=15}}}로 하면 출력되지 않는다.
593{{{#!if 2.0**(2.0**2.0)==0**1+15
594출력}}}
595----
r63
596{{{+2 3^^^{{{#!wiki style="display: inline"
r46
5973^^^2^^^}}}^^^=3^^^9^^^=19683}}} : 출력된다.
598{{{#!if 3.0**(3.0**2.0)==0**1+19683
r44
599출력}}}
600----
r63
601{{{+2 3^^^{{{#!wiki style="display: inline"
r46
6023^^^2^^^}}}^^^=3^^^9^^^=19682}}} : 출력되지 않는다.
603{{{#!if 3.0**(3.0**2.0)==0**1+19682
r44
604출력}}}
605----
r45
606지수의 지수의 지수
r63
607{{{+2 2^^^{{{#!wiki style="display: inline"
6082^^^{{{#!wiki style="display: inline"
r45
6092^^^2^^^}}}^^^}}}^^^=2^^^16^^^=65536}}} : 출력된다.
610{{{#!if 2.0**(2.0**(2.0**2.0))==0**1+65536
611출력}}}
612----
r63
613{{{+2 2^^^{{{#!wiki style="display: inline"
6142^^^{{{#!wiki style="display: inline"
r45
6152^^^2^^^}}}^^^}}}^^^=2^^^16^^^=65535}}} : 출력되지 않는다.
616{{{#!if 2.0**(2.0**(2.0**2.0))==0**1+65535
617출력}}}
618----
r63
619무한 지수 탑 함수 테스트를 해볼 겸 지수의 지수의 지수의 지수(...)를 테스트 해볼 수는 있겠지만 적당한 값을 넣어야 한다. 가령 {{{+2 2^^^{{{#!wiki style="display: inline"
6202^^^{{{#!wiki style="display: inline"
6212^^^{{{#!wiki style="display: inline"
r49
6222^^^2^^^}}}^^^}}}^^^}}}^^^}}}를 계산기에서 계산하면 {{{오버플로}}}가 나온다.
623----
r44
624[math(\left(1^{{1}\over{2}}\right)^{2}=1)]
625{{{#!if (1.0**0.5)**2.0==0**1+1
626출력}}}
627----
r45
628[math(\left((-1)^{{1}\over{2}}\right)^{2}=-1)] : [[허수]]는 불가능한 모양이다.
629{{{#!if ((-1.0)**0.5)**2.0==0.0**1.0-1.0
r44
630출력}}}
631
r84
632{{{#orange 결론}}} : (%로 잘만 달랜다면) 실수 범위의 계산까지 다룰 수 있다.
633
r91
634물론 [math(e^{i \pi}=-1)][* 오일러 등식] 같이 복잡한 계산을 생각해볼 수는 있겠지만, [math(\sin)], [math(\cos)] 등이 지원된다 하더라도 [[틀:계산기]][* 계산값 자체를 출력하는 방법이 아직까지는 발견되지 않은 상황에서, 두 수의 사칙연산을 계산하여 나오는 값을 자리 단위로 끊어 출력해주는 틀이다.]처럼 계산값을 출력하거나 판독해줘야 의미가 있으므로 그렇게까지 코딩 공사를 하자면 규모가 클 것으로 보인다.
r84
635
636== 비트 연산 테스트 ==
r67
637Zeroization. 자기 자릿수 이상으로 밀어버리면 0이 된다.
6381>>1=0 : 출력된다.
639{{{#!if 1>>1==0
640출력}}}
641----
r69
64242<2^^^6^^^=64이므로 2진법으로 6자리 숫자임을 이용.
r67
64342>>5==1 : 출력된다.
r68
644{{{#!if 42>>5==1
r67
645출력}}}
646----
64742>>5==0 : 42의 2^^^5^^^ 자릿수가 1이었으므로 출력되지 않는다.
r68
648{{{#!if 42>>5==0
r67
649출력}}}
650----
65142>>6==1 : 출력되지 않는다.
652{{{#!if 42>>6==1
653출력}}}
654----
65542>>6==0 : 출력된다.
656{{{#!if 42>>6==0
657출력}}}
658----
65942>>7==0 : 출력된다.
660{{{#!if 42>>7==0
661출력}}}
662----
r69
66342={{{#blue 101}}}010,,,(2),,,
66495={{{#blue 101}}}1111,,,(2),,,
66542>>3==5, 95>>4==5이므로 42>>3==95>>4는 출력된다.
666{{{#!if 42>>3==95>>4
667출력}}}
r78
668
r107
669== 문자열 검토 연산자 테스트 ==
r109
670Javascript에 지원되는 string(문자열 값) 관련 연산자(함수) 중 indexOf, startsWith, endsWith 등은 분명히 지원되며 동작이 같다. ---JSON으로 돌아가는데 Javascript가 빠질 리가 없다.---
r107
671{{{#!wiki style="display: inline; font-family: monospace;"
672{{{#green 변수명}}}{{{#orange .}}}{{{#purple 연산자}}}}}}이며, 대소문자를 구분하여야 한다.
r111
673관련 문서 : [[https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/String|Mozilla MDN Web Docs, JavaScript/Reference/Global_Objects/String]]
r107
674
675 * startsWith : true, false 중 하나로 반환되며 {{{#!if "Hello, World!".startsWith("Hello")
676the seed에 지원되는 연산자이다.}}}
677 * endsWith : true, false 중 하나로 반환되며 {{{#!if "Hello, World!".endsWith("d!")
678the seed에 지원되는 연산자이다.}}}
679 * indexOf : 1부터 -1까지 (unsigned integer이거나 unsigned char이면 끝의 수인가?) 훑어보며 {{{#!if "Hello, World!".indexOf("H")==0
680지원}}}{{{#!if "Hello, World!".indexOf("e")==1
681되는 }}}{{{#!if "Hello, World!".indexOf("l")==2
682연산자}}}{{{#!if "Hello, World!".indexOf("o")==4
683이다. }}}{{{#!if "Hello, World!".indexOf(" ")==6
6840번부터 시작하는 것은 기분 탓이다.}}}
r108
685 * substr{{{#!wiki style="display: inline; display: monospace;"
r109
686({{{#teal 시작하는 문자열 index 번호}}}, {{{#teal 문자열의 길이}}})}}} : {{{#!if "조선의 궁궐에 당도한 것을 환영하오 낯선 이여".substr(8, 6)=="당도한 것을"
r114
687지원된다. ("[[https://namu.wiki/w/세종대왕(문명 5)|조선의 궁궐에 ___당도한 것을___ 환영하오 낯선 이여]]" 문자열의 제8번 index에 주어진 문자열 "당"부터 시작하여 6개만.)
r112
688{{{#!wiki style="word-break: keep-all;
r115
689||<table bgcolor=transparent,transparent><bgcolor=#00d1b2><rowkeepall><nopad> Index ||<nopad> 0 ||<nopad> 1 ||<nopad> 2 ||<nopad> 3 ||<nopad> 4 ||<nopad> 5 ||<nopad> 6 ||<nopad> 7 ||<nopad><bgcolor=gold> 8 ||<nopad><bgcolor=gold> 9 ||<nopad><bgcolor=gold> 10 ||<nopad><bgcolor=gold> 11 ||<nopad><bgcolor=gold> 12 ||<nopad><bgcolor=gold> 13 ||<nopad> 14 ||<nopad> 15 ||<nopad> 16 ||<nopad> 17 ||<nopad> 18 ||<nopad> 19 ||<nopad> 20 ||<nopad> 21 ||<nopad> 22 ||<nopad> 23 ||<nopad> 24 ||
690||<bgcolor=#00d1b2><rowkeepall> 텍스트 || 조 || 선 || 의 || || 궁 || 궐 || 에 || ||<bgcolor=gold> 당 ||<bgcolor=gold> 도 ||<bgcolor=gold> 한 ||<bgcolor=gold> ||<bgcolor=gold> 것 ||<bgcolor=gold> 을 || || 환 || 영 || 하 || 오 || || 낯 || 선 || || 이 || 여 ||}}}}}}
r109
691 * substring {{{#!wiki style="display: inline; display: monospace;"
692({{{#teal 내보내기 시작하는 문자열 index 번호}}}, {{{#teal 내보내{{{#orangered 지 않}}}기 시작하는 문자열 index 번호}}})}}} : {{{#!if "순순히 금을 넘기면 유혈사태는 일어나지 않을 것입니다".substring(11, 15) == "유혈사태"
693지원된다. ("순순히 금을 넘기면 ___유혈사태___는 일어나지 않을 것입니다.")}}}
r116
694== 변수값 재정의 테스트 ==
695var1="테스트" {{{#green var1을 정의합니다.}}}
696{{{#!if var1="테스트"
697}}}
698----
699test = (var.substr(0,1)=="테")&&(var.substr(1,1)=="스")&&(var.substr(2,1)=="트") {{{#green test를 정의합니다.}}}
700{{{#!if test=(var.substr(0,1)=="테")&&(var.substr(1,1)=="스")&&(var.substr(2,1)=="트")
701}}}
702----
703if test : {{{#tomato 나오지 않습니다.}}}
704{{{#!if test
705테스트}}}
706----
707var=var1 : {{{#skyblue var에 var1을 지정해주었습니다}}}
708{{{#!if var=var1
709}}}
710----
711if test : {{{#tomato 역시 나오지 않습니다.}}}
712{{{#!if test
713테스트}}}
714----
715test = (var.substr(0,1)=="테")&&(var.substr(1,1)=="스")&&(var.substr(2,1)=="트") {{{#green test를 똑같은 식으로 __다시 정의__합니다. }}}
716{{{#!if test=(var.substr(0,1)=="테")&&(var.substr(1,1)=="스")&&(var.substr(2,1)=="트")
717}}}
718----
719if test : {{{#gold 이제 나옵니다.}}}
720{{{#!if test
721테스트}}}
722----
723{{{#!if var=="테스트"
724var=="테스트"}}} : 검증
725----
726{{{#!if var1=="테스트"
727var1=="테스트"}}} : 검증
728----
729var1="테"+"스"+"트" :
730{{{#!if (var1.substr(0,1)=="테")&&(var1.substr(1,1)=="스")&&(var1.substr(2,1)=="트")
731테스트}}}
732----
733var="테"+"스"+"트"
734{{{#!if (var.substr(0,1)=="테")&&(var.substr(1,1)=="스")&&(var.substr(2,1)=="트")
735테스트}}}
736----
737var1="[[https://namu.wiki/w/드라군 놀이|드라군]]" {{{#green var1을 다른 값으로 정의합니다.}}}
738{{{#!if var1="드라군"
739}}}
740----
741if test : {{{#tomato test값은 여전히 true로 나옵니다.}}}
742{{{#!if test
743테스트}}}
744----
745var=var1 : {{{#skyblue var에 var1을 다시해주었습니다}}}
746{{{#!if var=var1
747}}}
748----
749test = (var.substr(0,1)=="테")&&(var.substr(1,1)=="스")&&(var.substr(2,1)=="트") {{{#green test를 똑같은 식으로 __다시 정의__합니다. }}}
750{{{#!if test=(var.substr(0,1)=="테")&&(var.substr(1,1)=="스")&&(var.substr(2,1)=="트")
751}}}
752----
753if test : {{{#gold 이제 나오지 않습니다.}}}
754{{{#!if test
755테스트}}}
756----
757test = (var.substr(0,1)=="드")&&(var.substr(1,1)=="라")&&(var.substr(2,1)=="군") {{{#green test를 __다른 식으로 정의__합니다. }}}
758{{{#!if test=(var.substr(0,1)=="드")&&(var.substr(1,1)=="라")&&(var.substr(2,1)=="군")
759}}}
760----
761if test : {{{#gold 출력됩니다.}}}
762{{{#!if test
763테스트}}}
764----
765if true&&false : 분명히 출력이 되지 않습니다.
766{{{#!if true&&false
767테스트}}}
768----
769if test&&true
770{{{#!if test&&true
771테스트}}}
772----
773var1="테스트" {{{#green var1을 원래 값(테스트)으로 정의합니다.}}}
774{{{#!if var1="테스트"
775}}}
776----
777exam=test {{{#green exam에 test를 정의합니다.}}}
778{{{#!if exam=test
779}}}
780----
781if exam : 아까 test는 식으로 저장된 것이 아니라 논리값(true or false)으로 저장되었습니다.
782{{{#!if exam
783테스트}}}
r117
784
r118
785{{{#orange 결론 : }}} 변수를 다시 정의하기 전에 이전에 정의해놓은 변수값을 두고 판별식이 만들어지므로, procedure가 아닌 이상 모종의 함수(function)를 정의해야 할 필요가 있다.
r116
786== 다른 링크, 틀 출력 테스트 ==
r84
787||If true [[틀:토론]] include[br]{{{#!if true
788[include(틀:토론)]}}}||
789||If false [[틀:폐쇄]] include[br]
790{{{#!if false
791[include(틀:폐쇄)]}}}||
792출력이 되지 않는 틀은 역링크를 조회해보면 include로 역링크가 걸리지 않는다.
793----
794||If true [[:분류:나무마크 문법|분류:나무마크 문법]][br]{{{#!if true
795[[분류:나무마크 문법]]}}}||
796||If false [[:분류:위키]][br]{{{#!if false
797[[분류:위키]]}}}||
798출력이 되지 않는 분류로는 해당 문서가 포함되지 않는다.
799----
800||If true \#\#\@[br]{{{#!if true
801##@if true
802}}}||
803||If false \#\#\@[br]{{{#!if false
804##@if false
805}}}||
806\#\#\@ 테스트. If 문구 사이에 \#\#\@를 끼워넣어도 편집창 상단 표시에 출력되어 나온다.
807
808||{{{#!wiki style="display:inline;"
809\#\#\@If true
810##@{{{#!if true
811##@if true
812##@}}}
813}}}||
814||{{{#!wiki style="display:inline;"
815\#\#\@If false
816##@{{{#!if false
817##@if false
818##@}}}
819}}}||
820단, \#\#\@ 로 표시되는 공간에 If 구문이 걸리면 true일 때만 출력된다.
821----
822{{{#!if false
823이 내용은 false라서 나오지 않습니다.
824예시 :
825토론 합의 내용
826 * 문서명(표제어)을 A로 정한다. (/threadslug1 토론 합의)
827 * 문서의 B 서술을 존치한다. (/threadslug2 토론 합의)
828 * 문서의 C 서술을 삭제한다. (/threadslug3 토론 합의)
829}}}
830
831{{{#orange 결론}}} : 출력되지 않는 점을 이용하면 [[\#\#주석]] 못지 않게 활용할 수 있을 듯하다.
832----
833
r99
834== 매개변수, include, this 테스트 ==
r95
835[include(틀:상세 내용, 설명대상=매개변수 대상, 문서명=테스트:If문법/include 대상)]
836[include(틀:상세 내용, 설명대상=매개변수 대상의 include 테스트 결과, 문서명=테스트:If문법/include 결과)]
837
838---??? : This is blasphemy! This is madness!---
r96
839## [include(테스트:If문법, is=Sparta)] 등 true만 되게 어딘가에 붙여넣기 하면 동영상도 출력할 수 있다.
840{{{#!if (this.is=="Sparta")||(this["This"]=="Sparta")||(this['Is'] == 'Sparta')
r95
841[youtube(4Prc1UfuokY, start=104)]
842...
843Madness...?
844THIS IS SPARTA!!!}}}
845
846{{{#orange 결론 1 :}}} {{{#!wiki style="display: inline; font-family: monospace;"
847this\[{{{#orange \'}}}{{{#green 변수명}}}{{{#orange \'}}}\]}}} (작은따옴표), {{{#!wiki style="display: inline; font-family: monospace;"
848this\[{{{#orange \"}}}{{{#green 변수명}}}{{{#orange \"}}}\]}}} (큰따옴표)는 텍스트값으로 출력된다. {{{#!wiki style="display: inline; font-family: monospace;"
r97
849this\[{{{#orange \+}}}{{{#green 변수명}}}\]}}}, {{{#!wiki style="display: inline; font-family: monospace;"
850this\[{{{#green 변수명}}}\]}}}은 올바른 입력이 아니다.
851숫자 값으로 나오게 하고 싶으면 {{{#!wiki style="display: inline; font-family: monospace;"
852{{{#orangered +}}}this\[{{{#orange \'}}}{{{#green 변수명}}}{{{#orange \'}}}\]}}} (작은따옴표), {{{#!wiki style="display: inline; font-family: monospace;"
853{{{#orangered +}}}this\[{{{#orange \"}}}{{{#green 변수명}}}{{{#orange \"}}}\]}}} (큰따옴표) 등 알맞은 양식으로 적어야 한다.
r98
854숫자 값으로 연산할 경우 변수를 괄호로 묶어주어야 조건식에 오류가 나지 않는다.
855예 : {{{#!wiki style="display: inline; font-family: monospace;"
856{{{#purple \(}}}{{{#orangered +}}}this\[{{{#orange \'}}}{{{#green aaa}}}{{{#orange \'}}}\]{{{#purple \)}}}+{{{#purple \(}}}{{{#orangered +}}}this\[{{{#orange \'}}}{{{#green bbb}}}{{{#orange \'}}}\]{{{#purple \)}}}}}}
r97
857
r95
858{{{#orange 결론 2 :}}} {{{#!wiki style="display: inline; font-family: monospace;"
859this{{{#orange \.}}}{{{#green 변수명}}}}}}은 양식만 잘 맞추면 텍스트값이나 숫자값으로 출력된다.
860
r116
861== 기타 함수 테스트 ==
r119
862{{{#!if this.var2_1="으아니"
863}}}{{{#!if var2_1=="으아니"
864this.var2_1를 "[[https://namu.wiki/w/권진수#s-3|으아니]]"로 정의해본다.}}}
865{{{#!if this.var2_2=var2_1+var2_1
866}}}{{{#!if var2_2=="으아니으아니"
867this.var2_2=var2_1+var2_1로 정의했을 때 var2_2이 텍스트의 합도 된다.}}}
r26
868== 메모 ==
r72
869 * If 조건문에 함수를 넣을 수 있을까?
r77
870예 : dday를 넣어서 누구누구 운영자가 재직 며칠이 되었음을 적을 수 있음, pagecount를 넣어서 이 문서 개수가 몇 개를 돌파했음을 알릴 수 있음, 대문 기념일 틀을 기념일 되기 한참 전에 미리 만들어놓고 if를 걸어놓을 수 있음, 나무위키 공지 틀(고정 주석 문법)에 if를 걸어놓을 수 있음.{{{#!folding 예시 보기, 접기
r70
871{{{#orange 안내 :}}} 지원되지 않는 구문을 가상으로 적은 내용입니다.
r72
872{{{#ABCDEF \{\{\{#!if (\$\$\$dday(2025-xx-xx)\$\$\$>=-1){{{#orange &}}}(\$\$\$dday(2025-xx-xx)\$\$\$<=+1)
r74
873\[include(틀:대문/○○기념일)\][* 서버 시간과 시간대가 달라도 1일 전~1일 후 사이에는 기념일에 맞게 된다.]\}\}\}}}}{{{#00A495 \{\{\{#!if {{{#Red !(}}}(\$\$\$dday(2025-xx-xx)\$\$\$>=-1){{{#orange &}}}(\$\$\$dday(2025-xx-xx)\$\$\$<=+1){{{#Red )}}}
r73
874\}\}\}\[include(틀:대문)\][* 평상시 환영 문구. "○○위키에 오신 것을 환영합니다."]}}}}}}
r70
875-------
r74
876 * 틀의 매개변수명에 관하여
877{{{#!folding 펼치기, 접기
878{{{#orange 안내 :}}} 테스트 필요.
879 1. 매개변수에 입력하면 텍스트가 출력되거나 출력되지 않는 wiki style 구문 전부를 if 구문으로 변환한다. 가령
880 ||\#!wiki style="display:inline; display:{{{#tomato @@_@구버전 매개변수명@}}}=none"||
881 이 있으면
882 ||\#!if {{{#tomato @@_@구버전 매개변수명@}}}!=null||
883 으로 바꾼다.
884 1.#2 신버전과 나란히 입력한다.
885 예 : \{\{\{#!if ({{{#tomato 구버전 매개변수명}}}!=null)^({{{#green 신버전 매개변수명}}}!=null)
886 {{{#tomato @@_@구버전 매개변수명@}}}{{{#green @@_@신버전 매개변수명@}}}\}\}\}
887 1.#3 {{{#green 신버전 매개변수명}}}을 입력해도 틀이 동작된다.
888}}}
r72
889-------
r106
890 * elseif, else (관련 : [[https://feedback.theseed.io/posts/1576/if-munbeobe-elsewa-else-if-elif-munbeob-cuga|#]]{{{-3 ^^더시드포럼^^}}})
r100
891있으면 조금 편리하겠지만, 이렇게 적으면 되지 않을까?
892{{{#orange \{\{\{}}}\#\!if {{{#green (조건문1)}}}
893{{{#skyblue (출력할 내용1)}}}}{{{#orange \}\}\}}}}
r102
894{{{#orange \{\{\{}}}\#\!if {{{#orange \(}}}{{{#orangered \!}}}{{{#green (조건문1)}}}{{{#orange \)}}}{{{#orangered \&\&}}}{{{#green (조건문2)}}}}}}
r100
895{{{#skyblue (출력할 내용2)}}}{{{#orange \}\}\}}}}
r102
896{{{#orange \{\{\{}}}\#\!if {{{#orange \(}}}{{{#orangered \!}}}{{{#purple \(}}}{{{#green (조건문1)}}}||{{{#green (조건문2)}}}{{{#purple \)}}}{{{#orange \)}}}{{{#orangered \&\&}}}{{{#green (조건문3)}}}}}}
897{{{#skyblue (출력할 내용3)}}}{{{#orange \}\}\}}}}
898{{{#orange \{\{\{}}}\#\!if {{{#orange \(}}}{{{#orangered \!}}}{{{#purple \(}}}{{{#green (조건문1)}}}||{{{#green (조건문2)}}}||{{{#green (조건문3)}}}{{{#purple \)}}}{{{#orange \)}}}{{{#orangered \&\&}}}{{{#green (조건문4)}}}}}}
899{{{#skyblue (출력할 내용4)}}}{{{#orange \}\}\}}}}
900.....
r103
901{{{#orange \{\{\{}}}\#\!if {{{#orange \(}}}{{{#orangered \!}}}{{{#purple \(}}}{{{#green (조건문1)}}}||{{{#green (조건문2)}}}||{{{#green (조건문3)}}}|| ... ||{{{#green (조건문<math>n</math>)}}}{{{#purple \)}}}{{{#orange \)}}}{{{#orangered \&\&}}}{{{#green (조건문<math>n+1</math>)}}}
r102
902{{{#skyblue (출력할 내용<math>n+1</math>)}}}{{{#orange \}\}\}}}}
r103
903그리고 else를 만들고 싶다면
904{{{#orange \{\{\{}}}\#\!if {{{#orange \(}}}{{{#orangered \!}}}{{{#purple \(}}}{{{#green (조건문1)}}}||{{{#green (조건문2)}}}||{{{#green (조건문3)}}}|| ... ||{{{#green (조건문<math>n+1</math>)}}}{{{#purple \)}}}{{{#orange \)}}}
905{{{#skyblue (출력할 내용)}}}{{{#orange \}\}\}}}}
r106
906
r100
907-------
r72
908 * 발전 가능성
r116
909if 가 나왔으니 while, for 등 루프 연산, 그리고 더 나아가서 변수값 재지정[* 테스트 해본 결과 가능하다. 언제 업데이트 되었는지 모르겠지만.], break, continue 등 구문이 나올 수 있어 보인다. 그렇게 나오게 되면 문서는 하나의 스크립트가 될 수 있다. 루프(loop) 연산이 나오게 되면 [[2021년 the seed 엔진 위키 서버 과부하 사건|include 과부하 요청]] 같이 무한히 지속되는 연산 요청을 내지 않도록 시스템에서 의도적으로 루프를 몇 번까지만 반복할 수 있도록 제한을 걸어둘 것으로 보인다.
r63
910
r1
911== 결론 ==
r64
912||{{{#!wiki style="margin: 0 0 0 -0.25em; display: inline; font-family:monospace;"
913\{\{\{#!if {{{#blue (논리식)}}}
r81
914{{{#green (논리식이 true이면 출력할 내용)}}}\}\}\}}}}||
r120
915||{{{#!wiki style="margin: 0 0 0 -0.25em; display: inline; font-family:monospace;"
916\{\{\{#!if {{{#blue (변수 정의(define) 식)}}}
917{{{#green (성공적으로 정의되었을 때 출력할 내용)}}}\}\}\}}}}||
r84
918||조건문에 지원되는 기능 : {{{#!wiki style="display: inline; font-family:monospace;"
919true, false, null, this}}} 등등||
r1
920|| 추정되는 문법 ||
r47
921If구문은 고장난 구문(문법)은 아니지만, ---잠수함 패치로 인해--- 변수를 연결할 수 있는 입력방법을 찾아야 한다. 조건부에 텍스트값, 정수 숫자값, 실수 숫자값, 논리값(true 또는 false)은 지원되는 입력으로 보인다. 연산할 값의 종류와 연산하여 나오는 값의 종류에 알맞은 기호만 쓴다면 원하는 설계에서 크게 벗어나지 않게 이용할 수 있다.