class "くらすのなまえ" :description( "このクラスが何なのか説明するための文字列です。" ) :inherits( 継承したいクラス ) :concept( 実装したいコンセプト、カンマで区切れば何個もかけるよ! ) :attributes( クラスに持たせたい属性、カンマで区切れば何個もかけるよ! ) { クラスのめんばーをここに書くよ! 現状では以下のようなものがあるよ! method : 要するに関数。 metamethod : 演算子を定義したいときなんかに使うシロモノ。 field : 要するに変数。 こいつらの書き方についてはそれぞれ、methodの定義、metamethodの定義、fieldの定義の項目を参照してね! }
method"めそどの名前" 〜ここから省略可能 :description( "このメソッドが何なのか説明するための文字列です。" ) :attributes( メソッドに持たせたい属性、カンマで区切って複数指定できる。詳細は後述) :precondition( メソッドの事前条件。引数とオブジェクトの内部状態とかをチェックする。 ) 〜ここまで省略可能 :body( メソッドの本体となる関数をここに書きます。 )
名前が決まってることと
metamethod"メタメソッド名"
なのを除けばmethodといっしょ
Equaをrequireするより前に_DEBUGグローバル変数の値をtrueにしておかないと呼び出されません。
field"ふぃーるどのなまえ" 〜ここから省略可能 :description( "このフィールドが何なのか説明するための文字列です。" ) :attributes(フィールドの属性) :init(フィールドの初期値。attributesにstaticを指定した時だけ書いてもいい) 〜ここまで省略可能