hamigaki.png

前のページ 上に戻る ホーム 次のページ

ルール

定義
呼び出し

定義

ルールは他のプログラミング言語の関数に相当する機能である。

# ルールrule_aを定義する
rule rule_a
{
}

ルールの戻り値はreturn文で設定する。

#「a」、「b」、「c」のリストを返すルール
rule rule_b
{
    return a b c ;
}

ルール名に続く括弧内で仮引数を持たせることができる。

# 二つの文字列aとbを引数にとるルール
rule rule_c ( a b )
{
}

# 任意サイズのリストaと空でないリストbとオプションの文字列cを引数に取るルール
rule rule_d ( a * : b + : c ? )
{
}

呼び出し

ルール名に続き、定義にマッチした引数を並べるとルールを呼び出すことができる。

rule rule_c ( a b )
{
}

rule_c 1 2 ; # a = 1 , b = 2

rule rule_d ( a * : b + : c ? )
{
}

rule_d 1 2 : 1 2 : 1 ; # a = 1 2 , b = 1 2 , c = 1
rule_d : 1 ; # a = , b = 1 , c =

戻り値を利用したい場合は、ルール呼び出しを「[」と「]」で囲む。

rule rule_e ( a b )
{
    return $(a)-$(b) ;
}

X = [ rule_e x y ] ; # X = x-y

前のページ 上に戻る ホーム 次のページ