사용자:Bd3076/백괴게임 강좌/17강: 두 판 사이의 차이
백괴게임>Bd3076 |
imported>재미로봇 잔글 change "백괴게임:" to "리버티게임:" |
||
(사용자 2명의 중간 판 7개는 보이지 않습니다) | |||
17번째 줄: | 17번째 줄: | ||
* ifexpr | * ifexpr | ||
* ifexist | * ifexist | ||
* ifanon, ifblocked, ifsysop (전부 권한 관련 함수) | |||
* ifanon, ifblocked, ifsysop | |||
* sub | * sub | ||
휴... 많군요. 그럼 시작해 볼까요? | 휴... 많군요. 그럼 시작해 볼까요? | ||
63번째 줄: | 59번째 줄: | ||
그 사용법이 너무 길어 여기 올리면 내용이 방대해지고, 링크를 걸어놓겠습니다. | 그 사용법이 너무 길어 여기 올리면 내용이 방대해지고, 링크를 걸어놓겠습니다. | ||
[[ | [[리버티게임:게임 만들기#.23expr|이곳입니다.]] | ||
== #ifeq, #ifexpr, #ifexist == | == #ifeq, #ifexpr, #ifexist == | ||
이 세 개의 함수는 쉽습니다. | |||
{{3}}ifeq 함수: 두 문자열이 같은지 검사합니다. | |||
사용법: <pre>{{#ifeq:(비교할 수 1)|(비교할 수 2)|(같으면 나타낼 문자열)|(다르면 나타낼 문자열)}}</pre> | |||
예시: {{#ifeq:2|2|3|5}} | |||
<pre>{{#ifeq:2|2|3|5}}</pre> | |||
{{3}}ifexpr 함수: 계산을 해서 나온 값이 참인지 검사합니다. | |||
'''(팁: 보통 수가 참인지 아닌지 검사할 때는 0은 거짓, 나머지는 참입니다.)''' | |||
사용법: <pre>{{#ifexpr:(비교할 계산식, #expr 함수처럼 쓰면 됩니다.)|(참이면 나타낼 문자열)|(거짓이면 나타낼 문자열)}}</pre> | |||
예시: {{#ifexpr:3-3|1|2}} | |||
<pre>{{#ifexpr:3-3|1|2}}</pre> | |||
{{3}}ifexist 함수: 문서가 존재하는지 확인합니다. | |||
사용법: <pre>{{#ifexist:(문서 이름)|(존재하면 나타낼 문자열)|(존재하지 않으면 나타낼 문자열)}}</pre> | |||
예시: {{#ifexist:게임 오버|존재!|존재하지 않음!}} | |||
<pre>{{#ifexist:게임 오버|존재!|존재하지 않음!}}</pre> | |||
{{Bd3076 이전다음강의}} | {{Bd3076 이전다음강의}} | ||
{{돌아가기}} | {{돌아가기}} |
2020년 9월 9일 (수) 22:11 기준 최신판
오랜만에 강좌를 다시 쓰게 되었네요.
앞으로 두 강에 걸쳐 함수에 대해 알아봅시다.
함수란?[편집 | 원본 편집]
지금까지 우리가 배워 온 기술에는 여러 가지 제약이 있습니다.
예를 들어, 우리는 CGI에 1씩 더하는 것을 할 수 없습니다.
함수는 다양한 기능을 가능하게 해 줍니다.
아래는 다룰 함수 목록입니다. 없는 함수는 고급이나 프로그래머 전용에서 다룹니다.
- if
- expr
- ifeq
- ifexpr
- ifexist
- ifanon, ifblocked, ifsysop (전부 권한 관련 함수)
- sub
휴... 많군요. 그럼 시작해 볼까요?
#if[편집 | 원본 편집]
#if 함수는 단순 조건문 함수입니다. 그런데 많이 쓰지 않습니다. 이유는 #ifeq, #ifexist 등에 밀려서...
뭐 어쨌든 어떻게 쓰는 건지 알아봅시다.
{{#if: (변수) | 변수가 비어있지 않을 때 나올 문장 | 변수가 비어있을 때 나올 문장}}
쉽지 않습니다. 조건문이 뭘까요?
우리가 지금까지 문서를 만들면 가능한 경우는 몇 가지였죠? 네, 한 가지입니다. (랜덤 없다는 가정 하에)
그런데 이제 그게 아닙니다. 수백, 수천가지가 될 수도 있는 겁니다. (물론 그렇게 짜려면 다이나믹 로동을 좀 많이 해야죠.)
조건문은 변수의 상태에 따라 어떤 행동을 할지 결정합니다.
그런데 그 행동을 결정하는 조건이 있어야겠죠?
그 조건을 만족하면 참, 아니면 거짓이라고 하는 겁니다.
여기서 조건은 "변수가 비어 있느냐"네요.
if문은 딱히 예제를 들기 힘듭니다. 그래도 하나 들어 보자면:
B
{{#if: |A|B}}
이렇게 공백만 있으면 비어있는 걸로 간주하죠.
아 참, 함수도 틀과 비슷하게 쓰는 것 같죠?
하지만 함수 이름 앞에는 #을 붙여 주어야 해요!
#expr[편집 | 원본 편집]
#expr 함수는 계산을 하는 함수입니다.
그 사용법이 너무 길어 여기 올리면 내용이 방대해지고, 링크를 걸어놓겠습니다.
#ifeq, #ifexpr, #ifexist[편집 | 원본 편집]
이 세 개의 함수는 쉽습니다.
#ifeq 함수: 두 문자열이 같은지 검사합니다.
사용법:
{{#ifeq:(비교할 수 1)|(비교할 수 2)|(같으면 나타낼 문자열)|(다르면 나타낼 문자열)}}
예시: 3
{{#ifeq:2|2|3|5}}
#ifexpr 함수: 계산을 해서 나온 값이 참인지 검사합니다.
(팁: 보통 수가 참인지 아닌지 검사할 때는 0은 거짓, 나머지는 참입니다.)
사용법:
{{#ifexpr:(비교할 계산식, #expr 함수처럼 쓰면 됩니다.)|(참이면 나타낼 문자열)|(거짓이면 나타낼 문자열)}}
예시: 2
{{#ifexpr:3-3|1|2}}
#ifexist 함수: 문서가 존재하는지 확인합니다.
사용법:
{{#ifexist:(문서 이름)|(존재하면 나타낼 문자열)|(존재하지 않으면 나타낼 문자열)}}
예시: 존재하지 않음!
{{#ifexist:게임 오버|존재!|존재하지 않음!}}