条件式種別
規則の条件式には、以下のいずれかの種別に分類されます。
値条件式
値条件式は、その値に等しいリソースにマッチする条件式です。
. Fizz # // 文字列 "Fizz" にマッチ
. 3 # // int 型の 3 にマッチ
. 2*4-1 # // int 型の 7 にマッチ
. ' # // シンボル ' にマッチ
キャプチャ単体式
キャプチャ単体式は、すべてのリソースに無条件にマッチする条件式です。ただし、型ヒントがついている場合は、その型のリソースにマッチします。
. $ # // すべてのリソースにマッチ
. $:int # // int 型のリソースにマッチ
. $:str # // str 型のリソースにマッチ
型ヒント演算子を過剰に付けると、キャプチャ条件式として解釈されるため注意してください。
. $:bool:bool # // true だけマッチする (. $=true # と同じ)
キャプチャ条件式
キャプチャ条件式は、その条件式にマッチするリソースにマッチする条件式です。キャプチャ条件式の結果は bool
型である必要があります。
. $ % 2 = 0 # // int 型の偶数にマッチ
. $.len < 5 # // 長さが 5 文字未満の文字列にマッチ