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
| 6 | if 구문 테스트. |
|---|
r1
| 7 | RAW(원문) 참조. |
|---|
r24
| 8 | == true, false == |
|---|
r1
| 9 | {{{#!undefined_command @a@==1 |
|---|
| 10 | 1}}} |
|---|
| 11 | ---- |
|---|
r4
| 12 | if true 1 (정의되지 않는 #!(Shebang) 구문(문법)이면 리터럴로 출력되어야 하겠으나 if는 그렇지 않음) |
|---|
r1
| 13 | {{{#!if true |
|---|
| 14 | 1 (true 출력)}}} |
|---|
| 15 | ---- |
|---|
| 16 | if false 1 |
|---|
| 17 | {{{#!if false |
|---|
| 18 | 1 (false 출력되지 않음)}}} |
|---|
r24
| 19 | == 매개변수 테스트 == |
|---|
r22
| 20 | [include(틀:상세 내용, 설명대상=매개변수 대상, 문서명=테스트:If문법/include 대상)] |
|---|
| 21 | [include(틀:상세 내용, 설명대상=매개변수 대상의 include 테스트 결과, 문서명=테스트:If문법/include 결과)] |
|---|
r24
| 22 | == |기호 테스트 == |
|---|
r35
| 23 | === 논리식 === |
|---|
r1
| 24 | |기호 테스트 (둘 다 true) |
|---|
| 25 | {{{#!if (1==1)|(1==0) |
|---|
r24
| 26 | 출력 (| 기호)}}} |
|---|
r1
| 27 | ---- |
|---|
| 28 | |기호 테스트 (둘 중 한 쪽 false) |
|---|
| 29 | {{{#!if (1==2)|(2==2) |
|---|
r24
| 30 | 출력 (| 기호)}}} |
|---|
r1
| 31 | ---- |
|---|
| 32 | |기호 테스트 (둘 다 false) |
|---|
| 33 | {{{#!if (1==2)|(1==0) |
|---|
r24
| 34 | 출력 (| 기호)}}} |
|---|
r23
| 35 | ---- |
|---|
| 36 | true | true : 출력됨 |
|---|
| 37 | {{{#!if true | true |
|---|
r24
| 38 | 출력(| 기호)}}} |
|---|
r23
| 39 | ---- |
|---|
| 40 | true | false : 출력됨 |
|---|
| 41 | {{{#!if true | false |
|---|
r24
| 42 | 출력 (| 기호)}}} |
|---|
r23
| 43 | ---- |
|---|
| 44 | false | true : 출력됨 |
|---|
| 45 | {{{#!if false | true |
|---|
r24
| 46 | 출력 (| 기호)}}} |
|---|
r23
| 47 | ---- |
|---|
| 48 | false | false : 출력되지 않음 |
|---|
| 49 | {{{#!if false | false |
|---|
r24
| 50 | 출력 (| 기호)}}} |
|---|
| 51 | ---- |
|---|
| 52 | 결론 : | 기호는 논리연산 OR |
|---|
r35
| 53 | === 비트 연산 === |
|---|
r34
| 54 | 2진수 비트합으로 처리되는 것은, true와 false 진리값이 각각 1, 0인 논리를 시스템상에서 나타내므로 |
|---|
r33
| 55 | || || case1 || case2 || case3 || case4 || |
|---|
| 56 | || A || 1 || 1 || 0 || 0 || |
|---|
| 57 | || B || 1 || 0 || 1 || 0 || |
|---|
| 58 | || A|B || 1 || 1 || 1 || 0 || |
|---|
| 59 | 표와 같이 처리됩니다. (1을 true, 0을 false 놓고 보면 | 연산 결과가 같습니다.) |
|---|
| 60 | |
|---|
r35
| 61 | 그래서 이진법도 각 자릿수별로 | 연산 비교가 가능하다고 생각합니다. |
|---|
| 62 | 가령 5|3을 보자면 이진법으로 변환한 값의 각 자릿수에 따라 연산이 됩니다. |
|---|
r33
| 63 | || 10진수 || 2^^^2^^^ || 2^^^1^^^ || 2^^^0^^^ || |
|---|
| 64 | || 5 = || 1 || 0 || 1 || |
|---|
| 65 | || 3 = || 0 || 1 || 1 || |
|---|
| 66 | || (5|3) = 7 || 1 || 1 || 1 || |
|---|
| 67 | ---- |
|---|
| 68 | (5|3)=7 테스트 : 출력 |
|---|
| 69 | {{{#!if (5|3) ==7 |
|---|
| 70 | 출력}}} |
|---|
| 71 | ---- |
|---|
| 72 | (5|3)=6 테스트 : 출력되지 않음. |
|---|
| 73 | {{{#!if (5|3) ==6 |
|---|
| 74 | 출력}}} |
|---|
| 75 | 그래서 (5|3)=7 을 조건부로 둔 if 구문(문법)을 걸어놓으면 true로 동작되는 것으로 생각합니다. |
|---|
| 76 | ---- |
|---|
| 77 | (9|5)=13 테스트 |
|---|
| 78 | {{{#!if (9|5) ==13 |
|---|
| 79 | 출력 (1101)}}} |
|---|
| 80 | ---- |
|---|
| 81 | (9|5)=12 테스트 : 일(2^^^0^^^)의 자릿수가 틀려서 출력되지 않음. |
|---|
| 82 | {{{#!if (9|5) ==12 |
|---|
| 83 | 출력 (1101)}}} |
|---|
r35
| 84 | ---만약에i ~A|B을 해본다면--- |
|---|
r24
| 85 | == & 기호 테스트 == |
|---|
r1
| 86 | &기호 테스트 (한 쪽 false) |
|---|
| 87 | {{{#!if (1==1)&(1==0) |
|---|
r24
| 88 | 출력 (& 기호)}}} |
|---|
r1
| 89 | ---- |
|---|
| 90 | &기호 테스트 (한 쪽 false) |
|---|
| 91 | {{{#!if (1==0)&(3==3) |
|---|
r24
| 92 | 출력 (& 기호)}}} |
|---|
r1
| 93 | ---- |
|---|
| 94 | & 기호 테스트 (둘 다 true) |
|---|
| 95 | {{{#!if (1==1)&(0==0) |
|---|
r24
| 96 | 출력 (& 기호)}}} |
|---|
r23
| 97 | ---- |
|---|
| 98 | true & true : 출력됨 |
|---|
| 99 | {{{#!if true & true |
|---|
r24
| 100 | 출력 (& 기호)}}} |
|---|
r23
| 101 | ---- |
|---|
| 102 | true & false : 출력되지 않음 |
|---|
| 103 | {{{#!if true & false |
|---|
r24
| 104 | 출력 (& 기호)}}} |
|---|
r23
| 105 | ---- |
|---|
| 106 | false & true : 출력되지 않음 |
|---|
| 107 | {{{#!if false & true |
|---|
r24
| 108 | 출력 (& 기호)}}} |
|---|
r23
| 109 | ---- |
|---|
| 110 | false & false : 출력되지 않음 |
|---|
| 111 | {{{#!if false & false |
|---|
r24
| 112 | 출력 (& 기호)}}} |
|---|
| 113 | ---- |
|---|
| 114 | 결론 : & 기호는 논리연산 AND |
|---|
| 115 | == 부등호 테스트 == |
|---|
r1
| 116 | 연산 테스트 (음수도 읽는 모양) |
|---|
| 117 | {{{#!if (1<2)&(2>=-3) |
|---|
r24
| 118 | 출력 (연산 테스트)}}} |
|---|
r1
| 119 | ---- |
|---|
r8
| 120 | geq('''g'''reater than or '''eq'''ual to)를 >=로 입력 안 하고 =>로 입력하면 깨짐 |
|---|
r1
| 121 | {{{#!if (1<2)&(2=>-3) |
|---|
r24
| 122 | 출력 (연산 테스트)}}} |
|---|
r1
| 123 | ---- |
|---|
r8
| 124 | geq 동작 가능 인증 (if 1>=1 걸면 true로 나옴) |
|---|
| 125 | {{{#!if (1>=1) |
|---|
r24
| 126 | 출력 (연산 테스트)}}} |
|---|
r1
| 127 | ---- |
|---|
r8
| 128 | leq('''l'''ess than or '''eq'''ual to)를 <=로 입력 안 하고 =<로 입력하면 깨짐 |
|---|
| 129 | {{{#!if -100=<99 |
|---|
r24
| 130 | 출력 (연산 테스트)}}} |
|---|
r1
| 131 | ---- |
|---|
r8
| 132 | leq(<=) 로 해도 나오지 않다가 fix된듯. |
|---|
| 133 | {{{#!if -100<=99 |
|---|
r24
| 134 | 출력 (연산 테스트)}}} |
|---|
r8
| 135 | ---- |
|---|
| 136 | leq 동작 가능 인증 (if 1<=1 걸면 true로 나옴) |
|---|
| 137 | {{{#!if (1<=1) |
|---|
r24
| 138 | 출력 (연산 테스트)}}} |
|---|
r8
| 139 | ---- |
|---|
r1
| 140 | < and >= |
|---|
| 141 | {{{#!if (-100<-99)&(-98>=-99) |
|---|
r24
| 142 | 출력 (연산 테스트)}}} |
|---|
r1
| 143 | ---- |
|---|
| 144 | \> 가능 |
|---|
| 145 | {{{#!if 10>9 |
|---|
r24
| 146 | 출력 (연산 테스트)}}} |
|---|
r1
| 147 | ---- |
|---|
| 148 | (true and true) or (false and true) |
|---|
| 149 | {{{#!if ((4==4)&(-2>-3))|((1>0)&(2<4)) |
|---|
r24
| 150 | 출력 (연산 테스트)}}} |
|---|
r9
| 151 | ---- |
|---|
| 152 | * (times) 기호 |
|---|
| 153 | {{{#!if 2*3==6 |
|---|
r24
| 154 | 출력 (연산 테스트)}}} |
|---|
r9
| 155 | ---- |
|---|
r12
| 156 | * 식 을 틀리게 만들면 나오지 않음. (*는 지원되는 모양) |
|---|
| 157 | {{{#!if 2*3==5 |
|---|
r24
| 158 | 출력 (연산 테스트)}}} |
|---|
r12
| 159 | ---- |
|---|
r9
| 160 | / (devided by) |
|---|
| 161 | {{{#!if 10/5==2 |
|---|
r24
| 162 | 출력 (연산 테스트)}}} |
|---|
r10
| 163 | ---- |
|---|
r12
| 164 | / 식을 틀리게 만들면 나오지 않음. (/는 지원되는 모양) |
|---|
| 165 | {{{#!if 10/5==1 |
|---|
r24
| 166 | 출력 (연산 테스트)}}} |
|---|
r25
| 167 | ---- |
|---|
| 168 | 결론 : * / > >= < <= 지원되는 모양 |
|---|
r24
| 169 | == ^ 기호 테스트 == |
|---|
| 170 | ^ (exponent?) |
|---|
r10
| 171 | {{{#!if 10^4==10000 |
|---|
r24
| 172 | 출력 (^기호)}}} |
|---|
r11
| 173 | ---- |
|---|
| 174 | ^(1/2) |
|---|
| 175 | {{{#!if 1024^(1/2)==32 |
|---|
r24
| 176 | 출력 (^기호)}}} |
|---|
r12
| 177 | ---- |
|---|
r23
| 178 | ^ 틀리게 해도 나오는 것으로 봐서는 지원되지 않는듯[* 지수가 아니라 프로그래밍 전용 연산] |
|---|
r12
| 179 | {{{#!if 10^4==9999 |
|---|
r24
| 180 | 출력 (^기호)}}} |
|---|
| 181 | ---- |
|---|
| 182 | true ^ true : 출력되지 않음 |
|---|
| 183 | {{{#!if true ^ true |
|---|
| 184 | 출력 (^ 기호)}}} |
|---|
| 185 | ---- |
|---|
| 186 | true ^ false : 출력됨 |
|---|
| 187 | {{{#!if true ^ false |
|---|
| 188 | 출력 (^ 기호)}}} |
|---|
| 189 | ---- |
|---|
| 190 | false ^ true : 출력됨 |
|---|
| 191 | {{{#!if false ^ true |
|---|
| 192 | 출력 (^ 기호)}}} |
|---|
| 193 | ---- |
|---|
| 194 | false & false : 출력되지 않음 |
|---|
| 195 | {{{#!if false ^ false |
|---|
| 196 | 출력 (^ 기호)}}} |
|---|
| 197 | ---- |
|---|
r25
| 198 | 결론 : ^는 논리연산 XOR |
|---|
| 199 | ---그럼 XAND도 있을텐데--- |
|---|
r27
| 200 | == !기호 테스트 == |
|---|
| 201 | false == false : 출력됨 |
|---|
| 202 | {{{#!if false==false |
|---|
| 203 | 출력 (f=f)}}} |
|---|
| 204 | ---- |
|---|
| 205 | false == true : 출력되지 않음 |
|---|
| 206 | {{{#!if false==true |
|---|
| 207 | 출력 (f=f)}}} |
|---|
| 208 | ---- |
|---|
| 209 | false != true : 출력됨 |
|---|
| 210 | {{{#!if false != true |
|---|
| 211 | 출력 (!= 기호)}}} |
|---|
| 212 | ---- |
|---|
| 213 | 1!=0 : 출력됨 |
|---|
| 214 | {{{#!if 1!=0 |
|---|
| 215 | 출력 (1!=0)}}} |
|---|
| 216 | ---- |
|---|
r28
| 217 | 1 !=0 : 출력됨 |
|---|
| 218 | {{{#!if 1 !=0 |
|---|
| 219 | 출력 (1 !=0)}}} |
|---|
| 220 | ---- |
|---|
| 221 | 1 !==0 : 출력되지 않음. |
|---|
| 222 | {{{#!if 1 !==0 |
|---|
| 223 | 출력 (1!==0)}}} |
|---|
| 224 | ---- |
|---|
| 225 | 1<0 : 출력되지 않음. |
|---|
| 226 | {{{#!if 1<0 |
|---|
| 227 | 출력 (1<0)}}} |
|---|
| 228 | ---- |
|---|
| 229 | 1 !< 0 : 출력되지 않음. |
|---|
| 230 | {{{#!if 1 !< 0 |
|---|
| 231 | 출력 (1!< 0)}}} |
|---|
| 232 | ---- |
|---|
r32
| 233 | 1 !(<) 0 : 출력되지 않음. 부등호에 걸 수 있는 기호가 아니라서 깨진 모양. |
|---|
| 234 | {{{#!if 1 !(<) 0 |
|---|
| 235 | 출력 (1!(<) 0)}}} |
|---|
| 236 | ---- |
|---|
r28
| 237 | !(1<0) : 출력됨. |
|---|
| 238 | {{{#!if !(1<0) |
|---|
| 239 | 출력 !(1<0)}}} |
|---|
| 240 | ---- |
|---|
r27
| 241 | !(true and true) |
|---|
| 242 | {{{#!if !(true&true) |
|---|
| 243 | 출력 !(t&t)}}} |
|---|
| 244 | ---- |
|---|
| 245 | !(true and false) |
|---|
| 246 | {{{#!if !(true&false) |
|---|
| 247 | 출력 !(t&f)}}} |
|---|
| 248 | ---- |
|---|
| 249 | !(false and false) |
|---|
| 250 | {{{#!if !(false&false) |
|---|
| 251 | 출력 !(f&f)}}} |
|---|
r31
| 252 | ---그냥 and 식 전체에 ! 씌우면 nand이다.--- |
|---|
r28
| 253 | ---- |
|---|
r29
| 254 | !(true ^ true) |
|---|
| 255 | {{{#!if !(true^true) |
|---|
| 256 | 출력 !(t^t)}}} |
|---|
| 257 | ---- |
|---|
| 258 | !(true ^ false) |
|---|
| 259 | {{{#!if !(true^false) |
|---|
| 260 | 출력 !(t^f)}}} |
|---|
| 261 | ---- |
|---|
| 262 | !(false ^ true) |
|---|
| 263 | {{{#!if !(false^true) |
|---|
| 264 | 출력 !(f^t)}}} |
|---|
| 265 | ---- |
|---|
r28
| 266 | !(false ^ false) |
|---|
| 267 | {{{#!if !(false^false) |
|---|
| 268 | 출력 !(f^f)}}} |
|---|
r31
| 269 | 그냥 ^ 식 전체에 ! 씌우면 xand(nxor)이다. |
|---|
| 270 | ---- |
|---|
| 271 | !(!true) : 출력됨 (not of not) |
|---|
| 272 | {{{#!if !(!true) |
|---|
| 273 | 출력 !(!t)}}} |
|---|
| 274 | ---- |
|---|
| 275 | !!true : 출력되지 않음. !는 범위를 입력해줘야 동작되는 모양. |
|---|
| 276 | {{{#!if !!true) |
|---|
| 277 | 출력 (!!t)}}} |
|---|
| 278 | ---- |
|---|
| 279 | not of not of not of true |
|---|
| 280 | {{{#!if !(!(!true)) |
|---|
| 281 | 출력 !(!(!t))}}} |
|---|
| 282 | ---- |
|---|
| 283 | not of not of not of not of true ---사각형안의사각형안의--- |
|---|
| 284 | {{{#!if !(!(!(!true))) |
|---|
| 285 | 출력 !(!(!(!t)))}}} |
|---|
| 286 | ---- |
|---|
| 287 | 결론 : !는 논리연산 NOT이고, 범위를 지정해줘야 동작된다. |
|---|
r36
| 288 | |
|---|
r37
| 289 | == ~기호 테스트 == |
|---|
| 290 | ~false |
|---|
r36
| 291 | {{{#!if ~false |
|---|
r38
| 292 | 출력 ~f}}} |
|---|
r37
| 293 | ---- |
|---|
| 294 | ~(~true) |
|---|
| 295 | {{{#!if ~(~true) |
|---|
| 296 | 출력 ~(~t)}}} |
|---|
| 297 | ---- |
|---|
| 298 | ~(!(~(!true))) |
|---|
| 299 | {{{#!if ~(!(~(!true))) |
|---|
| 300 | 출력 ~(!(~(!t)))}}} |
|---|
| 301 | ---- |
|---|
| 302 | ~true : 출력됨. |
|---|
| 303 | {{{#!if ~true |
|---|
| 304 | 출력 ~t}}} |
|---|
| 305 | ---- |
|---|
| 306 | ~(true) : 출력됨. |
|---|
| 307 | {{{#!if ~(true) |
|---|
| 308 | 출력 ~(t)}}} |
|---|
| 309 | ---- |
|---|
r38
| 310 | (~true) : 출력됨. |
|---|
| 311 | {{{#!if (~true) |
|---|
| 312 | 출력 (~t)}}} |
|---|
| 313 | ---- |
|---|
r37
| 314 | ~~true : 출력됨. |
|---|
| 315 | {{{#!if ~~true |
|---|
| 316 | 출력 ~~t}}} |
|---|
| 317 | ---- |
|---|
r38
| 318 | ~(-1)=0 : 출력됨. |
|---|
| 319 | {{{#!if ~(-1)==0 |
|---|
| 320 | 출력}}} |
|---|
| 321 | ---- |
|---|
| 322 | ~(-1)=1 : 출력되지 않음. |
|---|
| 323 | {{{#!if ~(-1)==1 |
|---|
| 324 | 출력}}} |
|---|
| 325 | ---- |
|---|
| 326 | ~false=false |
|---|
| 327 | {{{#!if ~false==false |
|---|
| 328 | 출력}}} |
|---|
| 329 | ---- |
|---|
| 330 | ~false=true |
|---|
| 331 | {{{#!if ~false==true |
|---|
| 332 | 출력}}} |
|---|
| 333 | ---- |
|---|
| 334 | ~(!(true))=false |
|---|
| 335 | {{{#!if ~(!true)==false |
|---|
| 336 | 출력}}} |
|---|
| 337 | ---- |
|---|
| 338 | 결론 : ~ 기호는 논리식에서는 동작되지 않음. |
|---|
r24
| 339 | == 역링크 등 기타 테스트 == |
|---|
r15
| 340 | ||If true [[틀:토론]] include[br]{{{#!if true |
|---|
| 341 | [include(틀:토론)]}}}|| |
|---|
| 342 | ||If false [[틀:폐쇄]] include[br] |
|---|
r13
| 343 | {{{#!if false |
|---|
r15
| 344 | [include(틀:폐쇄)]}}}|| |
|---|
| 345 | 출력이 되지 않는 틀은 역링크를 조회해보면 include로 역링크가 걸리지 않는다. |
|---|
r13
| 346 | ---- |
|---|
r15
| 347 | ||If true [[:분류:나무마크 문법|분류:나무마크 문법]][br]{{{#!if true |
|---|
| 348 | [[분류:나무마크 문법]]}}}|| |
|---|
| 349 | ||If false [[:분류:위키]][br]{{{#!if false |
|---|
| 350 | [[분류:위키]]}}}|| |
|---|
r16
| 351 | 출력이 되지 않는 분류로는 해당 문서가 포함되지 않는다. |
|---|
r17
| 352 | ---- |
|---|
| 353 | ||If true \#\#\@[br]{{{#!if true |
|---|
r18
| 354 | ##@if true |
|---|
r17
| 355 | }}}|| |
|---|
| 356 | ||If false \#\#\@[br]{{{#!if false |
|---|
r18
| 357 | ##@if false |
|---|
r17
| 358 | }}}|| |
|---|
r18
| 359 | \#\#\@ 테스트. If 문구 사이에 \#\#\@를 끼워넣어도 편집창 상단 표시에 출력되어 나온다. |
|---|
r17
| 360 | ---- |
|---|
| 361 | {{{#!if false |
|---|
| 362 | 이 내용은 false라서 나오지 않습니다. |
|---|
| 363 | 예시 : |
|---|
| 364 | 토론 합의 내용 |
|---|
| 365 | * 문서명(표제어)을 A로 정한다. (/threadslug1 토론 합의) |
|---|
| 366 | * 문서의 B 서술을 존치한다. (/threadslug2 토론 합의) |
|---|
| 367 | * 문서의 C 서술을 삭제한다. (/threadslug3 토론 합의) |
|---|
| 368 | }}} |
|---|
| 369 | 출력되지 않는 점을 이용하면 [[\#\#주석]] 못지 않게 활용할 수 있을 듯. |
|---|
r24
| 370 | ---- |
|---|
r26
| 371 | == 메모 == |
|---|
| 372 | If 조건문에 함수를 넣을 수 있을까? |
|---|
| 373 | 예 : dday를 넣어서 누구누구 운영자가 재직 며칠이 되었음을 적을 수 있음. |
|---|
r1
| 374 | == 결론 == |
|---|
| 375 | ||{{{#!wiki style="margin: 0 0 0 -0.25em; display: inline;" |
|---|
| 376 | {{{ {{}}}}}}{{{#!wiki style="margin: 0 0 0 -0.25em; display: inline;" |
|---|
| 377 | {{{{#!if }}}}}}{{{#!wiki style="margin: 0 0 0 -0.25em; display: inline;" |
|---|
| 378 | {{{#blue {{{(논리식)}}}}}}}}} |
|---|
| 379 | {{{#!wiki style="margin: 0 0 0 -0.25em; display: inline;" |
|---|
| 380 | {{{#green {{{(true이면 출력할 내용)}}}}}}}}}{{{#!wiki style="margin: 0 -0.625em 0 -0.25em; display: inline;" |
|---|
| 381 | {{{}} }}}}}}{{{#!wiki style="margin: 0 0 0 -0.25em; display: inline;" |
|---|
| 382 | {{{} }}}}}}|| |
|---|
| 383 | || 추정되는 문법 || |
|---|
r3
| 384 | If구문 고장나지는 않았지만, ---잠수함 패치로 인해--- 변수를 연결할 수 있는 입력방법을 찾아야 할 것으로 보입니다. |
|---|