Function ADA-前后条件不起作用?
我试图在ada中学习我自己的前置条件和后置条件。如果使用GNAT(看起来它是jdoodle的默认设置),则需要启用断言。添加Function ADA-前后条件不起作用?,function,procedure,ada,preconditions,post-conditions,Function,Procedure,Ada,Preconditions,Post Conditions,我试图在ada中学习我自己的前置条件和后置条件。如果使用GNAT(看起来它是jdoodle的默认设置),则需要启用断言。添加-gnata作为命令行参数 编辑: 我对jdoodle了解不多,但它似乎不能向编译器提供参数,只有在运行程序时 相反,您可以向程序中添加一个pragma断言\u策略,如下所示: procedure Tp2q4 is pragma Assertion_Policy(Check); --... 绝对值得一提的是您的操作系统、编译器版本,以及它是FSF还是Adac
-gnata
作为命令行参数
编辑:
我对jdoodle了解不多,但它似乎不能向编译器提供参数,只有在运行程序时
相反,您可以向程序中添加一个pragma断言\u策略,如下所示:
procedure Tp2q4 is
pragma Assertion_Policy(Check);
--...
绝对值得一提的是您的操作系统、编译器版本,以及它是FSF还是Adacore(如果是Gnat)。显然,Ada-2012之前的编译器不支持这一点。我正在使用jdoodle在线编译器。这是一个问题吗?我还原了问题的内容。破坏它会降低它对其他人的价值。“A和B的值会根据前/后条件进行修改”-这将是一个非常糟糕的主意,即使它拼写正确。(a) 你不应该把影响结果的代码放在前置/后置条件中,正如你所看到的,(b)这确实让人很难理解发生了什么,生活已经够艰难了。现在的问题是“我正在努力学习ada中的前置和后置条件。”似乎缺少了很多东西,而且相当无用。这正常吗?(持续的缓和?)