r40 vs r41
......
99
{{{#!undefined_command @a@==1
1010
1}}}
1111
----
12
if true 1 (정의되지 않는 #!(Shebang) 구문(문법)이면 리터럴로 출력되어야 하겠으나 if는 그렇지 않)
12
if true 1 (정의되지 않는 #!(Shebang) 구문(문법)이면 리터럴로 출력되어야 하겠으나 if는 그렇지 않다.)
1313
{{{#!if true
14
1 (true 출력)}}}
14
1 (true 출력된다.)}}}
1515
----
1616
if false 1
1717
{{{#!if false
18
1 (false 출력되지 않)}}}
18
1 (false 출력되지 않는다.)}}}
1919
== 매개변수 테스트 ==
2020
[include(틀:상세 내용, 설명대상=매개변수 대상, 문서명=테스트:If문법/include 대상)]
2121
[include(틀:상세 내용, 설명대상=매개변수 대상의 include 테스트 결과, 문서명=테스트:If문법/include 결과)]
......
3333
{{{#!if (1==2)|(1==0)
3434
출력 (| 기호)}}}
3535
----
36
true | true : 출력
36
true | true : 출력된다.
3737
{{{#!if true | true
3838
출력(| 기호)}}}
3939
----
40
true | false : 출력
40
true | false : 출력된다.
4141
{{{#!if true | false
4242
출력 (| 기호)}}}
4343
----
44
false | true : 출력
44
false | true : 출력된다.
4545
{{{#!if false | true
4646
출력 (| 기호)}}}
4747
----
48
false | false : 출력되지 않
48
false | false : 출력되지 않는다.
4949
{{{#!if false | false
5050
출력 (| 기호)}}}
5151
----
......
5656
|| A || 1 || 1 || 0 || 0 ||
5757
|| B || 1 || 0 || 1 || 0 ||
5858
|| A|B || 1 || 1 || 1 || 0 ||
59
표와 같이 처리됩니다. (1을 true, 0을 false 놓고 보면 | 연산 결과가 같습니다.)
59
표와 같이 처리다. (1을 true, 0을 false 놓고 보면 | 연산 결과가 같다.)
6060
61
그래서 이진법도 각 자릿수별로 | 연산 비교가 가능하다고 생각합니다.
62
가령 5|3을 보자면 이진법으로 변환한 값의 각 자릿수에 따라 연산이 됩니다.
61
그래서 이진법도 각 자릿수별로 | 연산 비교가 가능 것으로 보인다.
62
가령 5|3을 보자면 이진법으로 변환한 값의 각 자릿수에 따라 연산이 다.
6363
|| 10진수 || 2^^^2^^^ || 2^^^1^^^ || 2^^^0^^^ ||
6464
|| 5 = || 1 || 0 || 1 ||
6565
|| 3 = || 0 || 1 || 1 ||
6666
|| (5|3) = 7 || 1 || 1 || 1 ||
6767
----
68
(5|3)=7 테스트 : 출력
68
(5|3)=7 테스트 : 출력된다.
6969
{{{#!if (5|3) ==7
7070
출력}}}
7171
----
72
(5|3)=6 테스트 : 출력되지 않.
72
(5|3)=6 테스트 : 출력되지 않는다.
7373
{{{#!if (5|3) ==6
7474
출력}}}
75
그래서 (5|3)=7 을 조건부로 둔 if 구문(문법)을 걸어놓으면 true로 동작되는 것으로 생각합니다.
75
그래서 (5|3)=7 을 조건부로 둔 if 구문(문법)을 걸어놓으면 true로 동작되는 것으로 보인다.
7676
----
7777
(9|5)=13 테스트
7878
{{{#!if (9|5) ==13
7979
출력 (1101)}}}
8080
----
81
(9|5)=12 테스트 : 일(2^^^0^^^)의 자릿수가 틀려서 출력되지 않.
81
(9|5)=12 테스트 : 일(2^^^0^^^)의 자릿수가 틀려서 출력되지 않는다.
8282
{{{#!if (9|5) ==12
8383
출력 (1101)}}}
8484
---만약에i ~A|B을 해본다면---
8585
== & 기호 테스트 ==
86
&기호 테스트 (한 쪽 false)
86
&기호 테스트 (한 쪽 false) : 출력되지 않는다.
8787
{{{#!if (1==1)&(1==0)
8888
출력 (& 기호)}}}
8989
----
90
&기호 테스트 (한 쪽 false)
90
&기호 테스트 (한 쪽 false) : 출력되지 않는다.
9191
{{{#!if (1==0)&(3==3)
9292
출력 (& 기호)}}}
9393
----
94
& 기호 테스트 (둘 다 true)
94
& 기호 테스트 (둘 다 true) : 출력된다.
9595
{{{#!if (1==1)&(0==0)
9696
출력 (& 기호)}}}
9797
----
98
true & true : 출력
98
true & true : 출력된다.
9999
{{{#!if true & true
100100
출력 (& 기호)}}}
101101
----
102
true & false : 출력되지 않
102
true & false : 출력되지 않는다.
103103
{{{#!if true & false
104104
출력 (& 기호)}}}
105105
----
106
false & true : 출력되지 않
106
false & true : 출력되지 않는다.
107107
{{{#!if false & true
108108
출력 (& 기호)}}}
109109
----
110
false & false : 출력되지 않
110
false & false : 출력되지 않는다.
111111
{{{#!if false & false
112112
출력 (& 기호)}}}
113113
----
114114
결론 : & 기호는 논리연산 AND
115115
== 부등호 테스트 ==
116
연산 테스트 (음수도 읽는 모양)
116
연산 테스트 (음수도 읽는 모양이다.)
117117
{{{#!if (1<2)&(2>=-3)
118118
출력 (연산 테스트)}}}
119119
----
120
geq('''g'''reater than or '''eq'''ual to)를 >=로 입력 안 하고 =>로 입력하면 깨
120
geq('''g'''reater than or '''eq'''ual to)를 >=로 입력 안 하고 =>로 입력하면 깨진다.
121121
{{{#!if (1<2)&(2=>-3)
122122
출력 (연산 테스트)}}}
123123
----
124
geq 동작 가능 인증 (if 1>=1 걸면 true로 나)
124
geq 동작 가능 인증 (if 1>=1 걸면 true로 나온다.)
125125
{{{#!if (1>=1)
126126
출력 (연산 테스트)}}}
127127
----
128
leq('''l'''ess than or '''eq'''ual to)를 <=로 입력 안 하고 =<로 입력하면 깨
128
leq('''l'''ess than or '''eq'''ual to)를 <=로 입력 안 하고 =<로 입력하면 깨진다.
129129
{{{#!if -100=<99
130130
출력 (연산 테스트)}}}
131131
----
132
leq(<=) 로 해도 나오지 않다가 fix된.
132
leq(<=) 로 해도 나오지 않다가 ---잠수함 패치로--- fix된 모양이다.
133133
{{{#!if -100<=99
134134
출력 (연산 테스트)}}}
135135
----
136
leq 동작 가능 인증 (if 1<=1 걸면 true로 나)
136
leq 동작 가능 인증 (if 1<=1 걸면 true로 나온다.)
137137
{{{#!if (1<=1)
138138
출력 (연산 테스트)}}}
139139
----
......
141141
{{{#!if (-100<-99)&(-98>=-99)
142142
출력 (연산 테스트)}}}
143143
----
144
\> 가능
144
\> 부등호도 가능하다.
145145
{{{#!if 10>9
146146
출력 (연산 테스트)}}}
147147
----
......
149149
{{{#!if ((4==4)&(-2>-3))|((1>0)&(2<4))
150150
출력 (연산 테스트)}}}
151151
----
152
* (times) 기호
152
* (times) 기호 : 출력된다.
153153
{{{#!if 2*3==6
154154
출력 (연산 테스트)}}}
155155
----
156
* 식 을 틀리게 만들면 나오지 않. (*는 지원되는 모양)
156
* 식 을 틀리게 만들면 출력되지 않는다. (따라서 *는 지원되는 모양이다.)
157157
{{{#!if 2*3==5
158158
출력 (연산 테스트)}}}
159159
----
......
161161
{{{#!if 10/5==2
162162
출력 (연산 테스트)}}}
163163
----
164
/ 식을 틀리게 만들면 나오지 않. (/는 지원되는 모양)
164
/ 식을 틀리게 만들면 나오지 않는다. (따라서 /는 지원되는 모양이다.)
165165
{{{#!if 10/5==1
166166
출력 (연산 테스트)}}}
167167
----
168
결론 : * / > >= < <= 지원되는 모양
168
결론 : * / > >= < <= 연산기호는 지원되는 모양이다.
169169
== ^ 기호 테스트 ==
170170
^ (exponent?)
171171
{{{#!if 10^4==10000
......
175175
{{{#!if 1024^(1/2)==32
176176
출력 (^기호)}}}
177177
----
178
^ 틀리게 해도 나오는 것으로 봐서는 지원되지 않는[* 지수가 아니라 프로그래밍 전용 연산]
178
^ 틀리게 해도 나오는 것으로 봐서는 지원되지 않는 모양이다?[* 지수가 아니라 프로그래밍 전용 연산]
179179
{{{#!if 10^4==9999
180180
출력 (^기호)}}}
181181
----
182
true ^ true : 출력되지 않
182
true ^ true : 출력되지 않는다.
183183
{{{#!if true ^ true
184184
출력 (^ 기호)}}}
185185
----
186
true ^ false : 출력
186
true ^ false : 출력된다.
187187
{{{#!if true ^ false
188188
출력 (^ 기호)}}}
189189
----
190
false ^ true : 출력
190
false ^ true : 출력된다.
191191
{{{#!if false ^ true
192192
출력 (^ 기호)}}}
193193
----
194
false & false : 출력되지 않
194
false & false : 출력되지 않는다.
195195
{{{#!if false ^ false
196196
출력 (^ 기호)}}}
197197
----
198198
결론 : ^는 논리연산 XOR
199199
---그럼 XAND도 있을텐데---
200200
== !기호 테스트 ==
201
false == false : 출력
201
false == false : 출력된다.
202202
{{{#!if false==false
203203
출력 (f=f)}}}
204204
----
205
false == true : 출력되지 않
205
false == true : 출력되지 않는다.
206206
{{{#!if false==true
207207
출력 (f=f)}}}
208208
----
209
false != true : 출력
209
false != true : 출력된다.
210210
{{{#!if false != true
211211
출력 (!= 기호)}}}
212212
----
213
1!=0 : 출력
213
1!=0 : 출력된다.
214214
{{{#!if 1!=0
215215
출력 (1!=0)}}}
216216
----
217
1 !=0 : 출력
217
1 !=0 : 출력된다.
218218
{{{#!if 1 !=0
219219
출력 (1 !=0)}}}
220220
----
221
1 !==0 : 출력되지 않.
221
1 !==0 : 출력되지 않는다.
222222
{{{#!if 1 !==0
223223
출력 (1!==0)}}}
224224
----
225
1<0 : 출력되지 않.
225
1<0 : 출력되지 않는다.
226226
{{{#!if 1<0
227227
출력 (1<0)}}}
228228
----
229
1 !< 0 : 출력되지 않.
229
1 !< 0 : 출력되지 않는다.
230230
{{{#!if 1 !< 0
231231
출력 (1!< 0)}}}
232232
----
233
1 !(<) 0 : 출력되지 않. 부등호에 걸 수 있는 기호가 아니라서 깨진 모양.
233
1 !(<) 0 : 출력되지 않는다. 부등호에 걸 수 있는 기호가 아니라서 깨진 모양이다.
234234
{{{#!if 1 !(<) 0
235235
출력 (1!(<) 0)}}}
236236
----
237
!(1<0) : 출력.
237
!(1<0) : 출력된다.
238238
{{{#!if !(1<0)
239239
출력 !(1<0)}}}
240240
----
241
!(true and true)
241
!(true and true) : 출력되지 않는다.
242242
{{{#!if !(true&true)
243243
출력 !(t&t)}}}
244244
----
245
!(true and false)
245
!(true and false) : 출력된다.
246246
{{{#!if !(true&false)
247247
출력 !(t&f)}}}
248248
----
249
!(false and false)
249
!(false and false) : 출력된다.
250250
{{{#!if !(false&false)
251251
출력 !(f&f)}}}
252
---그냥 and 식 전체에 ! 씌우면 nand다.---
252
그냥 and 식 전체에 ! 씌우면 nand가 된다.
253253
----
254254
!(true ^ true)
255255
{{{#!if !(true^true)
......
268268
출력 !(f^f)}}}
269269
그냥 ^ 식 전체에 ! 씌우면 xand(nxor)이다.
270270
----
271
!(!true) : 출력 (not of not)
271
!(!true) : 출력된다 (not of not)
272272
{{{#!if !(!true)
273273
출력 !(!t)}}}
274274
----
275
!!true : 출력되지 않. !는 범위를 입력해줘야 동작되는 모양.
275
!!true : 출력되지 않는다. !는 범위를 입력해줘야 동작되는 모양.
276276
{{{#!if !!true)
277277
출력 (!!t)}}}
278278
----
279
not of not of not of true
279
not of not of not of true : 출력되지 않는다.
280280
{{{#!if !(!(!true))
281281
출력 !(!(!t))}}}
282282
----
283
not of not of not of not of true ---사각형안의사각형안의---
283
not of not of not of not of true ---사각형안의사각형안의--- : 출력된다.
284284
{{{#!if !(!(!(!true)))
285285
출력 !(!(!(!t)))}}}
286286
----
287287
결론 : !는 논리연산 NOT이고, 범위를 지정해줘야 동작된다.
288288
289289
== ~기호 테스트 ==
290
~false : 출력
290
~false : 출력된다.
291291
{{{#!if ~false
292292
출력 ~f}}}
293293
----
294
~(~true) : 출력
294
~(~true) : 출력된다.
295295
{{{#!if ~(~true)
296296
출력 ~(~t)}}}
297297
----
298
~(!(~(!true))) : 출력.
298
~(!(~(!true))) : 출력된다.
299299
{{{#!if ~(!(~(!true)))
300300
출력 ~(!(~(!t)))}}}
301301
----
302
~true : 출력.
302
~true : 출력된다.
303303
{{{#!if ~true
304304
출력 ~t}}}
305305
----
306
~(true) : 출력.
306
~(true) : 출력된다.
307307
{{{#!if ~(true)
308308
출력 ~(t)}}}
309309
----
310
(~true) : 출력.
310
(~true) : 출력된다.
311311
{{{#!if (~true)
312312
출력 (~t)}}}
313313
----
314
~~true : 출력.
314
~~true : 출력된다.
315315
{{{#!if ~~true
316316
출력 ~~t}}}
317317
----
318
~(-1)=0 : 출력.
318
~(-1)=0 : 출력된다.
319319
{{{#!if ~(-1)==0
320320
출력}}}
321321
----
322
~(-1)=1 : 출력되지 않.
322
~(-1)=1 : 출력되지 않는다.
323323
{{{#!if ~(-1)==1
324324
출력}}}
325325
----
326
~(-2)=1 : 출력
326
~(-2)=1 : 출력된다.
327327
{{{#!if ~(-2)==1
328328
출력}}}
329329
----
330
~false=false : 출력되지 않.
330
~false=false : 출력되지 않는다.
331331
{{{#!if ~false==false
332332
출력}}}
333333
----
334
~false=true : 출력되지 않.
334
~false=true : 출력되지 않는다.
335335
{{{#!if ~false==true
336336
출력}}}
337337
----
338
~(!(true))=false : 출력되지 않.
338
~(!(true))=false : 출력되지 않는다.
339339
{{{#!if ~(!true)==false
340340
출력}}}
341341
----
342
결론 : ~ 기호는 논리 연산으로는 동작되지 않.
342
결론 : ~ 기호는 논리 연산으로는 동작되지 않는다.
343343
344344
다만 위의 ~(-1)==1 을 가져와서 비트 연산이 참인지 거짓인지 나오는 결과를 두고 논리식을 만들기는 가능하다.
345
!(~(-1)==1) : false 부정이므로 출력.
345
!(~(-1)==1) : false 부정이므로 출력된다.
346346
{{{#!if !(~(-1)==1)
347347
출력}}}
348348
== 역링크 등 기타 테스트 ==
......
375375
* 문서의 B 서술을 존치한다. (/threadslug2 토론 합의)
376376
* 문서의 C 서술을 삭제한다. (/threadslug3 토론 합의)
377377
}}}
378
출력되지 않는 점을 이용하면 [[\#\#주석]] 못지 않게 활용할 수 있을 듯.
378
출력되지 않는 점을 이용하면 [[\#\#주석]] 못지 않게 활용할 수 있을 듯하다.
379379
----
380380
== 메모 ==
381381
If 조건문에 함수를 넣을 수 있을까?
......
390390
{{{}} }}}}}}{{{#!wiki style="margin: 0 0 0 -0.25em; display: inline;"
391391
{{{} }}}}}}||
392392
|| 추정되는 문법 ||
393
If구문 고장나지는 않았지만, ---잠수함 패치로 인해--- 변수를 연결할 수 있는 입력방법을 찾아야 으로 보입니다.
393
If구문 고장 구문(문법)은 아니지만, ---잠수함 패치로 인해--- 변수를 연결할 수 있는 입력방법을 찾아야 한다. 조건부에 텍스트값, 숫자값, 논리값(true 또는 false)은 지원되는 입력으로 보다. 연산할 값의 종류와 연산하여 나오는 값의 종류에 알맞은 기호만 쓴다면 크게 원하는 방향에서 벗어나지 않게 쓸 수 있다.