6.10. kink/ENUM_GROUP¶
6.10.1. enum_group型¶
enum_groupは一群のenum値の生成器である。
例
:ENUM_GROUP.require_from('kink/')
:Eg <- ENUM_GROUP.new('FILE_TYPE')
Eg.register(:file)
Eg.register(:directory)
Eg.register(:symbolic_link)
stdout.print_line(file.repr) # => FILE_TYPE.file
stdout.print_line((file == file).repr) # => true
stdout.print_line((file == directory).repr) # => false
6.10.1.1. Enum_group.new_member(Name)¶
new_memberはenumグループの新しいenum値を戻す。Nameはenum値の名前として使われる。
結果のenum値は次のメソッドを提供する:
• M1 == M2: M1とM2が同じenum値かどうかを戻す。事前条件: M1とM2は同じenumグループに所属しなければならない。
事前条件
Nameはstr値でなければならない。
6.10.1.2. Enum_group.register(Varref)¶
registerは、new_memberを使って新しいenum値を作り、そのenum値の定数をVarrefに格納する。Varrefのシンボルがenum値の名前として使われる。
事前条件
Varrefはvarref値でなければならない。
6.10.1.3. Enum_group.name¶
nameは、enumグループの名前のstr値を戻す。
6.10.1.4. Enum_group.all¶
allは、enumグループのすべてのenum値を、作られた順に格納したvecを戻す。
6.10.1.5. Enum_group.have?(Val)¶
have?はValがenumグループに所属するかどうかを戻す。
6.10.2. ENUM_GROUP.new(Name)¶
newは新しいenum_groupを戻す。
Nameはenumグループの名前として使われる。
事前条件
Nameはstr値でなければならない。