본문으로 이동

사용자:Bd3076/백괴게임 강좌/17강: 두 판 사이의 차이

리버티게임, 모두가 만들어가는 자유로운 게임
백괴게임>Bd3076
백괴게임>Bd3076
27번째 줄: 27번째 줄:


== #if ==
== #if ==
#if 함수는 단순 조건문 함수입니다. 그런데 많이 쓰지 않습니다. 이유는 #ifeq, #ifexist 등에 밀려서...
<nowiki>#if</nowiki> 함수는 단순 조건문 함수입니다. 그런데 많이 쓰지 않습니다. 이유는 #ifeq, #ifexist 등에 밀려서...


뭐 어쨌든 어떻게 쓰는 건지 알아봅시다.
뭐 어쨌든 어떻게 쓰는 건지 알아봅시다.

2018년 2월 12일 (월) 15:45 판

오랜만에 강좌를 다시 쓰게 되었네요.

앞으로 두 강에 걸쳐 함수에 대해 알아봅시다.

함수란?

지금까지 우리가 배워 온 기술에는 여러 가지 제약이 있습니다.

예를 들어, 우리는 CGI에 1씩 더하는 것을 할 수 없습니다.

함수는 다양한 기능을 가능하게 해 줍니다.

아래는 다룰 함수 목록입니다. 없는 함수는 고급이나 프로그래머 전용에서 다룹니다.

  • if
  • expr
  • ifeq
  • ifexpr
  • ifexist
  • switch
  • time
  • ifanon, ifblocked, ifsysop, ifingroup (전부 권한 관련 함수)
  • sub
  • len, sub, pos, rpos, replace (전부 문자열 관련 함수)
  • random

휴... 많군요. 그럼 시작해 볼까요?

#if

#if 함수는 단순 조건문 함수입니다. 그런데 많이 쓰지 않습니다. 이유는 #ifeq, #ifexist 등에 밀려서...

뭐 어쨌든 어떻게 쓰는 건지 알아봅시다.

{{#if: (변수) | 변수가 비어 있을 대 나올 문장 | 변수가 비어 있지 않을 때 나올 문장}}

쉽지 않습니다. 조건문이 뭘까요?

우리가 지금까지 문서를 만들면 가능한 경우는 몇 가지였죠? 네, 한 가지입니다. (랜덤 없다는 가정 하에)

그런데 이제 그게 아닙니다. 수백, 수천가지가 될 수도 있는 겁니다. (물론 그렇게 짜려면 다이나믹 로동을 좀 많이 해야죠.)

조건문은 변수의 상태에 따라 어떤 행동을 할지 결정합니다.

그런데 그 행동을 결정하는 조건이 있어야겠죠?

그 조건을 만족하면 참, 아니면 거짓이라고 하는 겁니다.

여기서 조건은 "변수가 비어 있느냐"네요.

  1. if문은 딱히 예제를 들기 힘듭니다. 그래도 하나 들어 보자면:

B

{{#if:|A|B}}

아 참, 함수도 틀과 비슷하게 쓰는 것 같죠?

하지만 함수 이름 앞에는 #을 붙여 주어야 해요!

#expr

#ifeq, #ifexpr, #ifexist

#switch