我解决了比赛桌的任务。制作了计算属性“球队进球数”(本场比赛球队球员进球数之和):
hostGoals 'Х голы' (Game game) = GROUP SUM scorergoalsScored(Scorers scorers) IF typeTeam(scorers) = TypeTeam.host;
guestGoals 'Г голы' (Game game) = GROUP SUM scorergoalsScored(Scorers scorers) IF typeTeam(scorers) = TypeTeam.guest;
接下来,我创建一个约束:
CONSTRAINT hostGoals(Game game) = guestGoals(game) MESSAGE 'Игра не может закончиться вничью';
但我收到一个错误:
2020 年 10 月 4 日 09:26:27,124 错误 StartLogger - 启动逻辑实例时出现异常:计算属性类:p948 '(SET) p922 '' [HockeyStats(57:12)]'
这里的重点是您在声明 hostGoals 时没有在任何地方使用游戏。也就是说,您需要在最后添加一个条件。
虽然是的,但错误信息不是很丰富。也许对于特殊情况(例如,根本不使用参数时),添加额外的检查是有意义的。