더시드위키
최근 변경
최근 토론
임의 문서
도구
최근 변경
테스트:if문법
(r38 RAW)
[[분류:테스트]] [목차] == 개요 == [[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 문단]]도 참고. if 구문 테스트. RAW(원문) 참조. == true, false == {{{#!undefined_command @a@==1 1}}} ---- if true 1 (정의되지 않는 #!(Shebang) 구문(문법)이면 리터럴로 출력되어야 하겠으나 if는 그렇지 않음) {{{#!if true 1 (true 출력)}}} ---- if false 1 {{{#!if false 1 (false 출력되지 않음)}}} == 매개변수 테스트 == [include(틀:상세 내용, 설명대상=매개변수 대상, 문서명=테스트:If문법/include 대상)] [include(틀:상세 내용, 설명대상=매개변수 대상의 include 테스트 결과, 문서명=테스트:If문법/include 결과)] == |기호 테스트 == === 논리식 === |기호 테스트 (둘 다 true) {{{#!if (1==1)|(1==0) 출력 (| 기호)}}} ---- |기호 테스트 (둘 중 한 쪽 false) {{{#!if (1==2)|(2==2) 출력 (| 기호)}}} ---- |기호 테스트 (둘 다 false) {{{#!if (1==2)|(1==0) 출력 (| 기호)}}} ---- true | true : 출력됨 {{{#!if true | true 출력(| 기호)}}} ---- true | false : 출력됨 {{{#!if true | false 출력 (| 기호)}}} ---- false | true : 출력됨 {{{#!if false | true 출력 (| 기호)}}} ---- false | false : 출력되지 않음 {{{#!if false | false 출력 (| 기호)}}} ---- 결론 : | 기호는 논리연산 OR === 비트 연산 === 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을 보자면 이진법으로 변환한 값의 각 자릿수에 따라 연산이 됩니다. || 10진수 || 2^^^2^^^ || 2^^^1^^^ || 2^^^0^^^ || || 5 = || 1 || 0 || 1 || || 3 = || 0 || 1 || 1 || || (5|3) = 7 || 1 || 1 || 1 || ---- (5|3)=7 테스트 : 출력 {{{#!if (5|3) ==7 출력}}} ---- (5|3)=6 테스트 : 출력되지 않음. {{{#!if (5|3) ==6 출력}}} 그래서 (5|3)=7 을 조건부로 둔 if 구문(문법)을 걸어놓으면 true로 동작되는 것으로 생각합니다. ---- (9|5)=13 테스트 {{{#!if (9|5) ==13 출력 (1101)}}} ---- (9|5)=12 테스트 : 일(2^^^0^^^)의 자릿수가 틀려서 출력되지 않음. {{{#!if (9|5) ==12 출력 (1101)}}} ---만약에i ~A|B을 해본다면--- == & 기호 테스트 == &기호 테스트 (한 쪽 false) {{{#!if (1==1)&(1==0) 출력 (& 기호)}}} ---- &기호 테스트 (한 쪽 false) {{{#!if (1==0)&(3==3) 출력 (& 기호)}}} ---- & 기호 테스트 (둘 다 true) {{{#!if (1==1)&(0==0) 출력 (& 기호)}}} ---- true & true : 출력됨 {{{#!if true & true 출력 (& 기호)}}} ---- true & false : 출력되지 않음 {{{#!if true & false 출력 (& 기호)}}} ---- false & true : 출력되지 않음 {{{#!if false & true 출력 (& 기호)}}} ---- false & false : 출력되지 않음 {{{#!if false & false 출력 (& 기호)}}} ---- 결론 : & 기호는 논리연산 AND == 부등호 테스트 == 연산 테스트 (음수도 읽는 모양) {{{#!if (1<2)&(2>=-3) 출력 (연산 테스트)}}} ---- geq('''g'''reater than or '''eq'''ual to)를 >=로 입력 안 하고 =>로 입력하면 깨짐 {{{#!if (1<2)&(2=>-3) 출력 (연산 테스트)}}} ---- geq 동작 가능 인증 (if 1>=1 걸면 true로 나옴) {{{#!if (1>=1) 출력 (연산 테스트)}}} ---- leq('''l'''ess than or '''eq'''ual to)를 <=로 입력 안 하고 =<로 입력하면 깨짐 {{{#!if -100=<99 출력 (연산 테스트)}}} ---- leq(<=) 로 해도 나오지 않다가 fix된듯. {{{#!if -100<=99 출력 (연산 테스트)}}} ---- leq 동작 가능 인증 (if 1<=1 걸면 true로 나옴) {{{#!if (1<=1) 출력 (연산 테스트)}}} ---- < and >= {{{#!if (-100<-99)&(-98>=-99) 출력 (연산 테스트)}}} ---- \> 가능 {{{#!if 10>9 출력 (연산 테스트)}}} ---- (true and true) or (false and true) {{{#!if ((4==4)&(-2>-3))|((1>0)&(2<4)) 출력 (연산 테스트)}}} ---- * (times) 기호 {{{#!if 2*3==6 출력 (연산 테스트)}}} ---- * 식 을 틀리게 만들면 나오지 않음. (*는 지원되는 모양) {{{#!if 2*3==5 출력 (연산 테스트)}}} ---- / (devided by) {{{#!if 10/5==2 출력 (연산 테스트)}}} ---- / 식을 틀리게 만들면 나오지 않음. (/는 지원되는 모양) {{{#!if 10/5==1 출력 (연산 테스트)}}} ---- 결론 : * / > >= < <= 지원되는 모양 == ^ 기호 테스트 == ^ (exponent?) {{{#!if 10^4==10000 출력 (^기호)}}} ---- ^(1/2) {{{#!if 1024^(1/2)==32 출력 (^기호)}}} ---- ^ 틀리게 해도 나오는 것으로 봐서는 지원되지 않는듯[* 지수가 아니라 프로그래밍 전용 연산] {{{#!if 10^4==9999 출력 (^기호)}}} ---- true ^ true : 출력되지 않음 {{{#!if true ^ true 출력 (^ 기호)}}} ---- true ^ false : 출력됨 {{{#!if true ^ false 출력 (^ 기호)}}} ---- false ^ true : 출력됨 {{{#!if false ^ true 출력 (^ 기호)}}} ---- false & false : 출력되지 않음 {{{#!if false ^ false 출력 (^ 기호)}}} ---- 결론 : ^는 논리연산 XOR ---그럼 XAND도 있을텐데--- == !기호 테스트 == false == false : 출력됨 {{{#!if false==false 출력 (f=f)}}} ---- false == true : 출력되지 않음 {{{#!if false==true 출력 (f=f)}}} ---- false != true : 출력됨 {{{#!if false != true 출력 (!= 기호)}}} ---- 1!=0 : 출력됨 {{{#!if 1!=0 출력 (1!=0)}}} ---- 1 !=0 : 출력됨 {{{#!if 1 !=0 출력 (1 !=0)}}} ---- 1 !==0 : 출력되지 않음. {{{#!if 1 !==0 출력 (1!==0)}}} ---- 1<0 : 출력되지 않음. {{{#!if 1<0 출력 (1<0)}}} ---- 1 !< 0 : 출력되지 않음. {{{#!if 1 !< 0 출력 (1!< 0)}}} ---- 1 !(<) 0 : 출력되지 않음. 부등호에 걸 수 있는 기호가 아니라서 깨진 모양. {{{#!if 1 !(<) 0 출력 (1!(<) 0)}}} ---- !(1<0) : 출력됨. {{{#!if !(1<0) 출력 !(1<0)}}} ---- !(true and true) {{{#!if !(true&true) 출력 !(t&t)}}} ---- !(true and false) {{{#!if !(true&false) 출력 !(t&f)}}} ---- !(false and false) {{{#!if !(false&false) 출력 !(f&f)}}} ---그냥 and 식 전체에 ! 씌우면 nand이다.--- ---- !(true ^ true) {{{#!if !(true^true) 출력 !(t^t)}}} ---- !(true ^ false) {{{#!if !(true^false) 출력 !(t^f)}}} ---- !(false ^ true) {{{#!if !(false^true) 출력 !(f^t)}}} ---- !(false ^ false) {{{#!if !(false^false) 출력 !(f^f)}}} 그냥 ^ 식 전체에 ! 씌우면 xand(nxor)이다. ---- !(!true) : 출력됨 (not of not) {{{#!if !(!true) 출력 !(!t)}}} ---- !!true : 출력되지 않음. !는 범위를 입력해줘야 동작되는 모양. {{{#!if !!true) 출력 (!!t)}}} ---- not of not of not of true {{{#!if !(!(!true)) 출력 !(!(!t))}}} ---- not of not of not of not of true ---사각형안의사각형안의--- {{{#!if !(!(!(!true))) 출력 !(!(!(!t)))}}} ---- 결론 : !는 논리연산 NOT이고, 범위를 지정해줘야 동작된다. == ~기호 테스트 == ~false {{{#!if ~false 출력 ~f}}} ---- ~(~true) {{{#!if ~(~true) 출력 ~(~t)}}} ---- ~(!(~(!true))) {{{#!if ~(!(~(!true))) 출력 ~(!(~(!t)))}}} ---- ~true : 출력됨. {{{#!if ~true 출력 ~t}}} ---- ~(true) : 출력됨. {{{#!if ~(true) 출력 ~(t)}}} ---- (~true) : 출력됨. {{{#!if (~true) 출력 (~t)}}} ---- ~~true : 출력됨. {{{#!if ~~true 출력 ~~t}}} ---- ~(-1)=0 : 출력됨. {{{#!if ~(-1)==0 출력}}} ---- ~(-1)=1 : 출력되지 않음. {{{#!if ~(-1)==1 출력}}} ---- ~false=false {{{#!if ~false==false 출력}}} ---- ~false=true {{{#!if ~false==true 출력}}} ---- ~(!(true))=false {{{#!if ~(!true)==false 출력}}} ---- 결론 : ~ 기호는 논리식에서는 동작되지 않음. == 역링크 등 기타 테스트 == ||If true [[틀:토론]] include[br]{{{#!if true [include(틀:토론)]}}}|| ||If false [[틀:폐쇄]] include[br] {{{#!if false [include(틀:폐쇄)]}}}|| 출력이 되지 않는 틀은 역링크를 조회해보면 include로 역링크가 걸리지 않는다. ---- ||If true [[:분류:나무마크 문법|분류:나무마크 문법]][br]{{{#!if true [[분류:나무마크 문법]]}}}|| ||If false [[:분류:위키]][br]{{{#!if false [[분류:위키]]}}}|| 출력이 되지 않는 분류로는 해당 문서가 포함되지 않는다. ---- ||If true \#\#\@[br]{{{#!if true ##@if true }}}|| ||If false \#\#\@[br]{{{#!if false ##@if false }}}|| \#\#\@ 테스트. If 문구 사이에 \#\#\@를 끼워넣어도 편집창 상단 표시에 출력되어 나온다. ---- {{{#!if false 이 내용은 false라서 나오지 않습니다. 예시 : 토론 합의 내용 * 문서명(표제어)을 A로 정한다. (/threadslug1 토론 합의) * 문서의 B 서술을 존치한다. (/threadslug2 토론 합의) * 문서의 C 서술을 삭제한다. (/threadslug3 토론 합의) }}} 출력되지 않는 점을 이용하면 [[\#\#주석]] 못지 않게 활용할 수 있을 듯. ---- == 메모 == If 조건문에 함수를 넣을 수 있을까? 예 : dday를 넣어서 누구누구 운영자가 재직 며칠이 되었음을 적을 수 있음. == 결론 == ||{{{#!wiki style="margin: 0 0 0 -0.25em; display: inline;" {{{ {{}}}}}}{{{#!wiki style="margin: 0 0 0 -0.25em; display: inline;" {{{{#!if }}}}}}{{{#!wiki style="margin: 0 0 0 -0.25em; display: inline;" {{{#blue {{{(논리식)}}}}}}}}} {{{#!wiki style="margin: 0 0 0 -0.25em; display: inline;" {{{#green {{{(true이면 출력할 내용)}}}}}}}}}{{{#!wiki style="margin: 0 -0.625em 0 -0.25em; display: inline;" {{{}} }}}}}}{{{#!wiki style="margin: 0 0 0 -0.25em; display: inline;" {{{} }}}}}}|| || 추정되는 문법 || If구문 고장나지는 않았지만, ---잠수함 패치로 인해--- 변수를 연결할 수 있는 입력방법을 찾아야 할 것으로 보입니다.
Liberty
|
the seed