「rulebyDSL-ferrari」の編集履歴(バックアップ)一覧はこちら

rulebyDSL-ferrari」(2008/07/24 (木) 16:50:57) の最新版変更点

追加された行は緑色になります。

削除された行は赤色になります。

Ferrari Ferrari は Ruleby DSL の文法のひとつです。 ‘rule’ メソッドの4つのパラメータが定義しています: # ルールを一意に識別する補助的なSymbol # (優先度のような)ルールの属性を含んだ補助的なHash # たくさんのArrayのパターン(“left hand side”) # ルールが満たされているときに実行されるブロック(“right hand side”) この例ではこの文法を使います。: rule :hello, [Message, :m, method.status == :HELLO] do |context| puts context[:m].message end このルールでは、:HELLO と同じ状態のメッセージオブジェクトの存在を探すパターンを定義しています。 ブロックパラメータは、このパターンに一致するオブジェクトを順に実行します。=The Left Hand Side= この例で最も重要な箇所は、ルールの左側で表された Array パラメータの内容です。 Each Array begins with a class type, and is followed by an optional handle for the object (so that it can be referenced in the block). Next, the Array contains any number of conditions that must be true in order for the pattern to match. The example above contains only one condition: method.status == :HELLO
Ferrari Ferrari は Ruleby DSL の文法のひとつです。 ‘rule’ メソッドの4つのパラメータが定義しています: # ルールを一意に識別する任意のSymbol # (優先度のような)ルールの属性を含んだ任意のHash # たくさんのArrayのパターン(“left hand side”) # ルールが満たされているときに実行されるブロック(“right hand side”) この例ではこの文法を使います。: rule :hello, [Message, :m, method.status == :HELLO] do |context| puts context[:m].message end このルールでは、:HELLO と同じ状態のメッセージオブジェクトの存在を探すパターンを定義しています。 ブロックパラメータは、このパターンに一致するオブジェクトを順に実行します。=The Left Hand Side= この例で最も重要な箇所は、ルールの左側で表された Array パラメータの内容です。それぞれの配列はクラスタイプで始まり、任意のハンドルはオブジェクトをフォローしています。(ブロックで参照をつけることが出来るように) Next, the Array contains any number of conditions that must be true in order for the pattern to match. The example above contains only one condition: method.status == :HELLO

表示オプション

横に並べて表示:
変化行の前後のみ表示:
記事メニュー
目安箱バナー