GKRuleSystem 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
维护对象的集合 GKRule ,并根据需要激活它们。
[Foundation.Register("GKRuleSystem", true)]
[ObjCRuntime.Introduced(ObjCRuntime.PlatformName.iOS, 9, 0, ObjCRuntime.PlatformArchitecture.All, null)]
[ObjCRuntime.Introduced(ObjCRuntime.PlatformName.MacOSX, 10, 11, ObjCRuntime.PlatformArchitecture.Arch64, null)]
public class GKRuleSystem : Foundation.NSObject
type GKRuleSystem = class
inherit NSObject
- 继承
- 属性
注解
类 GKRuleSystem 允许开发人员构建专家系统。 支持经典和模糊逻辑系统。
在任何时候, GKRule 要么位于要计算的规则集合中 Agenda ,要么位于 集合中 Executed 。 方法 Reset() 将所有规则移回 Agenda 集合。
方法 Evaluate() 根据 中每个规则 Agenda的谓词计算,其次,根据它们 Salience 添加到 的顺序 GKRuleSystem来计算。 其谓词计算结果为 true
执行其操作函数的规则,并将其置于集合中 Executed 。
下面演示了“FizzBuzz”质询:如果数字被 3 均匀地整除,则输出“fizz”。 如果被 5 整除,则输出“buzz”。 否则,输出数字本身。 请注意,此代码在输入为 15 时正确将 设置为output
“buzzfizz”,因为 和 buzzRule
的计算结果true
均为 fizzRule
。
var clearRule = GKRule.FromPredicate ((rules) => reset, rules => {
output = "";
reset = false;
});
clearRule.Salience = 1;
var fizzRule = GKRule.FromPredicate (mod (3), rules => {
output += "fizz";
});
fizzRule.Salience = 2;
var buzzRule = GKRule.FromPredicate (mod (5), rules => {
output += "buzz";
});
buzzRule.Salience = 2;
var outputRule = GKRule.FromPredicate (rules => true, rules => {
System.Console.WriteLine (output == "" ? input.ToString () : output);
reset = true;
});
outputRule.Salience = 3;
var rs = new GKRuleSystem ();
rs.AddRules (new [] {
clearRule,
fizzRule,
buzzRule,
outputRule
});
for (input = 1; input < 16; input++) {
rs.Evaluate ();
rs.Reset ();
}
构造函数
GKRuleSystem() |
默认构造函数,初始化此类的新实例。 |
GKRuleSystem(IntPtr) |
创建非托管对象的托管表示形式时使用的构造函数;由运行时调用。 |
GKRuleSystem(NSObjectFlag) |
在派生类上调用 的构造函数,以跳过初始化并仅分配 对象。 |
属性
Agenda |
其谓词尚未计算为 |
Class |
维护对象的集合 GKRule ,并根据需要激活它们。 (继承自 NSObject) |
ClassHandle |
此类的句柄。 |
DebugDescription |
此对象的开发人员有意义的说明。 (继承自 NSObject) |
Description |
对象的说明,即 ToString 的 Objective-C 版本。 (继承自 NSObject) |
Executed |
系统中已评估为 |
Facts |
一组任意对象, GKRuleSystem 其维持在 [0,1] 范围内的真实等级。 |
Handle |
处理指向非托管对象表示形式的 (指针) 。 (继承自 NSObject) |
IsDirectBinding |
维护对象的集合 GKRule ,并根据需要激活它们。 (继承自 NSObject) |
IsProxy |
维护对象的集合 GKRule ,并根据需要激活它们。 (继承自 NSObject) |
RetainCount |
返回对象的当前 Objective-C 保留计数。 (继承自 NSObject) |
Rules | |
Self |
维护对象的集合 GKRule ,并根据需要激活它们。 (继承自 NSObject) |
State |
一个可变字典,用于保存 操作所依据 Rules 的状态信息。 |
Superclass |
维护对象的集合 GKRule ,并根据需要激活它们。 (继承自 NSObject) |
SuperHandle |
用于表示此 NSObject 基类中方法的句柄。 (继承自 NSObject) |
Zone |
维护对象的集合 GKRule ,并根据需要激活它们。 (继承自 NSObject) |
方法
扩展方法
ObjectDidBeginEditing(NSObject, INSEditor) |
维护对象的集合 GKRule ,并根据需要激活它们。 |
ObjectDidEndEditing(NSObject, INSEditor) |
维护对象的集合 GKRule ,并根据需要激活它们。 |
GetValidModes(NSObject, NSFontPanel) |
维护对象的集合 GKRule ,并根据需要激活它们。 |
ValidateToolbarItem(NSObject, NSToolbarItem) |
维护对象的集合 GKRule ,并根据需要激活它们。 |
GetDebugDescription(INSObjectProtocol) |
维护对象的集合 GKRule ,并根据需要激活它们。 |
AcceptsPreviewPanelControl(NSObject, QLPreviewPanel) |
维护对象的集合 GKRule ,并根据需要激活它们。 |
BeginPreviewPanelControl(NSObject, QLPreviewPanel) |
维护对象的集合 GKRule ,并根据需要激活它们。 |
EndPreviewPanelControl(NSObject, QLPreviewPanel) |
维护对象的集合 GKRule ,并根据需要激活它们。 |
GetAccessibilityCustomRotors(NSObject) |
获取适用于 |
SetAccessibilityCustomRotors(NSObject, UIAccessibilityCustomRotor[]) |
设置适用于 |