関数について
関数とは
与えられた値をもとに、あらかじめ用意された命令を実行し、結果を返してくれるものを関数と言います。
プログラミング上、同一の処理を何度も行う際、
関数を使うことで、「同じ処理を手軽に繰り返せる」という利点があります。
- 関数化のメリット
- 記述をシンプルに出来る
- 同じことを何回も書かなくていい
- 1回作ってしまえば中身を知らない人にも共有できる
関数の構造
関数の基本的な構造は3つの要素で出来ています
=|BOX|
@関数名
> ※命令文
> RETURN
| = |
- 関数名
- 関数の名前です。他の関数と重複しない、処理内容を端的に表したものを付けましょう
- 命令文
- 処理したい内容を記述します
- RETURN
- 「この関数はここで終わりです」の合図です2)
- 処理を終わらせたいタイミングで呼ぶので、場合によっては命令文の中に入る場合や、複数存在する場合があります
関数の使い方
呼び出したい場所で、「CALL」命令を使って呼びます
=|BOX|
CALL 関数名
| = |
関数の実例
例題:「調教対象の性別を判別し、画面に描画する」処理を行う
最初に関数を用意します
=|BOX|
@性別描画処理
IF TALENT:オトコ == 0 && TALENT:男の娘 == 0
PRINTL 女性
ELSE
PRINTL 男性
ENDIFRETURN\\| | = |
次に、使いたい場所にCALL命令で呼び出します
=|BOX|
PRINTL あなたは叫んだ。「性別を描画したい!」
;関数を呼ぶ
CALL 性別描画処理
> PRINTL あなたは上を見た。「性別が描画されている!」
| = |
実際に処理されると、以下のように処理されます(調教相手が女性の場合)
=|BOX|
あなたは叫んだ。「性別を描画したい!」
女性
あなたは上を見た。「性別が描画されている!」
| | = |
式中関数
特殊な関数として、式の中で使える「式中間数」があります
呼ぶときは、式の中で「関数名()」で記述します
たとえば以下の関数を定義・判定した場合……
=|BOX|
;何が何でも1を返す関数です、入れた場所で「1」になります
@絶対に1を返す関数だぞ
#FUNCTIONS
RETURNF 1
| | = |
=|BOX|
IF 絶対に1を返す関数だぞ() == 1
PRINTL うわー1が返ってきたー
ENDIF
| | = |
これは関数を呼んでいる場所に「1」が返ってくるので、実際は
「IF 1 = 1」
として処理されます
式中間数の使用例
例題:乳サイズを見る関数“デカパイ判定”を作りメッセージを分岐させる
式中間数として定義する場合、
関数名の真下に「#FUNCTION3)」と入れ、
RETURNの代わりに「RETURNF」を使います。
=|BOX|
@デカパイ判定
#FUNCTION
> ;小さい
IF TALENT:絶壁 || TALENT:貧乳
RETURNF 0
;大きい
ELSEIF TALENT:巨乳 || TALENT:超乳
RETURNF 2
;並
ELSE
RETURNF 1
ENDIF
| | = |
式中間数は「記述した場所」で実行され、その場に「FUNCTIONF」で返した値が代入されます
(下の「デカパイ判定()」がそのまま帰ってきた数字に代わるイメージです)
=|BOX|
PRINTFORML 「なにジロジロ見てるのよ」
;絶壁か貧乳の場合
IF デカパイ判定() == 0
PRINTFORMW 「貧相な乳で悪かったわね」
;巨乳か爆乳の場合
ELSEIF デカパイ判定() == 2
PRINTFORMW 「そんなにでかい胸が珍しいの?」
;それ以外の場合(並乳)
ELSE
PRINTFORMW 「とっとと出でってくれる?」
ENDIF
| | = |
汎用的な関数の格納場所
「ERB¥組み込み関数」「ERB\汎用組み込み関数」もしくは「ERB\私家版追加関数」フォルダ配下に格納されています。
