[주의!] 문서의 이전 버전(에 수정)을 보고 있습니다. 최신 버전으로 이동
1. 개요[편집]
2. true, false[편집]
#!undefined_command ==1
1if true 1 (정의되지 않는 #!(Shebang) 구문(문법)이면 리터럴로 출력되어야 하겠으나 if는 그렇지 않음)
1 (true 출력)
1 (true 출력)
if false 1
3. 매개변수 테스트[편집]
→ 매개변수 대상에 대한 자세한 내용은 테스트:If문법/include 대상 문서를 참고하십시오.
→ 매개변수 대상의 include 테스트 결과에 대한 자세한 내용은 테스트:If문법/include 결과 문서를 참고하십시오.
4. |기호 테스트[편집]
4.1. 논리식[편집]
|기호 테스트 (둘 다 true)
출력 (| 기호)
출력 (| 기호)
|기호 테스트 (둘 중 한 쪽 false)
출력 (| 기호)
출력 (| 기호)
|기호 테스트 (둘 다 false)
true | true : 출력됨
출력(| 기호)
출력(| 기호)
true | false : 출력됨
출력 (| 기호)
출력 (| 기호)
false | true : 출력됨
출력 (| 기호)
출력 (| 기호)
false | false : 출력되지 않음
결론 : | 기호는 논리연산 OR
4.2. 비트 연산[편집]
2진수 비트합으로 처리되는 것은, true와 false 진리값이 각각 1, 0인 논리를 시스템상에서 나타내므로
case1 | case2 | case3 | case4 | |
A | 1 | 1 | 0 | 0 |
B | 1 | 0 | 1 | 0 |
A|B | 1 | 1 | 1 | 0 |
표와 같이 처리됩니다. (1을 true, 0을 false 놓고 보면 | 연산 결과가 같습니다.)
그래서 이진법도 각 자릿수별로 | 연산 비교가 가능하다고 생각합니다.
가령 5|3을 보자면 이진법으로 변환한 값의 각 자릿수에 따라 연산이 됩니다.
그래서 이진법도 각 자릿수별로 | 연산 비교가 가능하다고 생각합니다.
가령 5|3을 보자면 이진법으로 변환한 값의 각 자릿수에 따라 연산이 됩니다.
10진수 | 22 | 21 | 20 |
5 = | 1 | 0 | 1 |
3 = | 0 | 1 | 1 |
(5|3) = 7 | 1 | 1 | 1 |
(5|3)=7 테스트 : 출력
출력
출력
(5|3)=6 테스트 : 출력되지 않음.
그래서 (5|3)=7 을 조건부로 둔 if 구문(문법)을 걸어놓으면 true로 동작되는 것으로 생각합니다.
그래서 (5|3)=7 을 조건부로 둔 if 구문(문법)을 걸어놓으면 true로 동작되는 것으로 생각합니다.
(9|5)=13 테스트
출력 (1101)
출력 (1101)
(9|5)=12 테스트 : 일(20)의 자릿수가 틀려서 출력되지 않음.
만약에i ~A|B을 해본다면
5. & 기호 테스트[편집]
&기호 테스트 (한 쪽 false)
&기호 테스트 (한 쪽 false)
& 기호 테스트 (둘 다 true)
출력 (& 기호)
출력 (& 기호)
true & true : 출력됨
출력 (& 기호)
출력 (& 기호)
true & false : 출력되지 않음
false & true : 출력되지 않음
false & false : 출력되지 않음
결론 : & 기호는 논리연산 AND
6. 부등호 테스트[편집]
연산 테스트 (음수도 읽는 모양)
출력 (연산 테스트)
출력 (연산 테스트)
geq(greater than or equal to)를 >=로 입력 안 하고 =>로 입력하면 깨짐
geq 동작 가능 인증 (if 1>=1 걸면 true로 나옴)
출력 (연산 테스트)
출력 (연산 테스트)
leq(less than or equal to)를 <=로 입력 안 하고 =<로 입력하면 깨짐
leq(<=) 로 해도 나오지 않다가 fix된듯.
출력 (연산 테스트)
출력 (연산 테스트)
leq 동작 가능 인증 (if 1<=1 걸면 true로 나옴)
출력 (연산 테스트)
출력 (연산 테스트)
< and >=
출력 (연산 테스트)
출력 (연산 테스트)
> 가능
출력 (연산 테스트)
출력 (연산 테스트)
(true and true) or (false and true)
출력 (연산 테스트)
출력 (연산 테스트)
* (times) 기호
출력 (연산 테스트)
출력 (연산 테스트)
* 식 을 틀리게 만들면 나오지 않음. (*는 지원되는 모양)
/ (devided by)
출력 (연산 테스트)
출력 (연산 테스트)
/ 식을 틀리게 만들면 나오지 않음. (/는 지원되는 모양)
결론 : * / > >= < <= 지원되는 모양
7. ^ 기호 테스트[편집]
^ (exponent?)
출력 (^기호)
출력 (^기호)
^(1/2)
출력 (^기호)
출력 (^기호)
^ 틀리게 해도 나오는 것으로 봐서는 지원되지 않는듯[1]
출력 (^기호)
출력 (^기호)
true ^ true : 출력되지 않음
true ^ false : 출력됨
출력 (^ 기호)
출력 (^ 기호)
false ^ true : 출력됨
출력 (^ 기호)
출력 (^ 기호)
false & false : 출력되지 않음
결론 : ^는 논리연산 XOR
그럼 XAND도 있을텐데
8. !기호 테스트[편집]
false == false : 출력됨
출력 (f=f)
출력 (f=f)
false == true : 출력되지 않음
false != true : 출력됨
출력 (!= 기호)
출력 (!= 기호)
1!=0 : 출력됨
출력 (1!=0)
출력 (1!=0)
1 !=0 : 출력됨
출력 (1 !=0)
출력 (1 !=0)
1 !==0 : 출력되지 않음.
1<0 : 출력되지 않음.
1 !< 0 : 출력되지 않음.
1 !(<) 0 : 출력되지 않음. 부등호에 걸 수 있는 기호가 아니라서 깨진 모양.
!(1<0) : 출력됨.
출력 !(1<0)
출력 !(1<0)
!(true and true)
!(true and false)
출력 !(t&f)
출력 !(t&f)
!(false and false)
출력 !(f&f)
그냥 and 식 전체에 ! 씌우면 nand이다.
출력 !(f&f)
!(true ^ true)
출력 !(t^t)
출력 !(t^t)
!(true ^ false)
!(false ^ true)
!(false ^ false)
출력 !(f^f)
그냥 ^ 식 전체에 ! 씌우면 xand(nxor)이다.
출력 !(f^f)
그냥 ^ 식 전체에 ! 씌우면 xand(nxor)이다.
!(!true) : 출력됨 (not of not)
출력 !(!t)
출력 !(!t)
!!true : 출력되지 않음. !는 범위를 입력해줘야 동작되는 모양.
not of not of not of true
not of not of not of not of true 사각형안의사각형안의
출력 !(!(!(!t)))
출력 !(!(!(!t)))
결론 : !는 논리연산 NOT이고, 범위를 지정해줘야 동작된다.
9. ~기호 테스트[편집]
~false : 출력됨
출력 ~f
출력 ~f
~(~true) : 출력됨
출력 ~(~t)
출력 ~(~t)
~(!(~(!true))) : 출력됨.
출력 ~(!(~(!t)))
출력 ~(!(~(!t)))
~true : 출력됨.
출력 ~t
출력 ~t
~(true) : 출력됨.
출력 ~(t)
출력 ~(t)
(~true) : 출력됨.
출력 (~t)
출력 (~t)
~~true : 출력됨.
출력 ~~t
출력 ~~t
~(-1)=0 : 출력됨.
출력
출력
~(-1)=1 : 출력되지 않음.
~(-2)=1 : 출력됨
출력
출력
~false=false : 출력되지 않음.
~false=true : 출력되지 않음.
~(!(true))=false : 출력되지 않음.
결론 : ~ 기호는 논리 연산으로는 동작되지 않음.
다만 위의 ~(-1)==1 을 가져와서 비트 연산이 참인지 거짓인지 나오는 결과를 두고 논리식을 만들기는 가능하다.
!(~(-1)==1) : false 부정이므로 출력됨.
출력
다만 위의 ~(-1)==1 을 가져와서 비트 연산이 참인지 거짓인지 나오는 결과를 두고 논리식을 만들기는 가능하다.
!(~(-1)==1) : false 부정이므로 출력됨.
출력
10. 역링크 등 기타 테스트[편집]
출력이 되지 않는 틀은 역링크를 조회해보면 include로 역링크가 걸리지 않는다.
If true 분류:나무마크 문법 |
If false 분류:위키 |
출력이 되지 않는 분류로는 해당 문서가 포함되지 않는다.
If true ##@ |
If false ##@ |
##@ 테스트. If 문구 사이에 ##@를 끼워넣어도 편집창 상단 표시에 출력되어 나온다.
출력되지 않는 점을 이용하면 ##주석 못지 않게 활용할 수 있을 듯.
11. 메모[편집]
If 조건문에 함수를 넣을 수 있을까?
예 : dday를 넣어서 누구누구 운영자가 재직 며칠이 되었음을 적을 수 있음.
예 : dday를 넣어서 누구누구 운영자가 재직 며칠이 되었음을 적을 수 있음.
12. 결론[편집]
{{{#!if (논리식)(true이면 출력할 내용)}} } |
추정되는 문법 |
If구문 고장나지는 않았지만, 잠수함 패치로 인해 변수를 연결할 수 있는 입력방법을 찾아야 할 것으로 보입니다.
[1] 지수가 아니라 프로그래밍 전용 연산