在我大学的离散数学课程中,教师向学生展示Ackermann功能,并指导学生在纸上开发功能.
除了作为递归优化的基准之外,Ackermann函数是否有任何实际用途?
我一直在尝试为我的系统中的一组规则实现流畅的界面.我想要完成的是这个
TicketRules
.RequireValidation()
.When(quartType => quartType == QuartType.Before).TotalMilageIs(64)
.When(quartType => quartType == QuartType.After).TotalMilageIs(128);
Run Code Online (Sandbox Code Playgroud)
但是,我无法实现当我有条件的时候.目前,我需要在此片段中调用When()两次:
rules.When(param => param.Remarque == "Test").TotalMilageIs(100);
rules.When(param => param.Remarque == "Other").TotalMilageIs(50);
var params1 = new AddTicketParameters() { Remarque = "Test" };
var params2 = new AddTicketParameters() { Remarque = "Other" };
rules.ExecuteWith(params1);
Assert.That(ticket.TotalMilage, Is.EqualTo(100));
rules.ExecuteWith(params2);
Assert.That(ticket.TotalMilage, Is.EqualTo(50));
Run Code Online (Sandbox Code Playgroud)
我的TicketRules类看起来像这样:
[EditorBrowsable(EditorBrowsableState.Never)]
public class TicketRules : ITicketRule, IHideObjectMembers
{
private Ticket theTicket;
public Ticket Ticket
{
set
{
theTicket = value;
}
}
private List<ITicketRule> allRules = new List<ITicketRule>();
public …Run Code Online (Sandbox Code Playgroud)