学习Ada并试图制作一个ADT堆栈,我正在使用这个网页搞清楚。 http://www.functionx.com/ada/Lesson06.htm
eightqueens.adb
with Ada.Text_IO;
use Ada.Text_IO;
with Stack;
use Stack;
procedure EightQueens is
begin
put_line ("awd");
end EightQueens;
stack.ads
package Stack is
function awd () return Integer;
end Stack;
stack.adb
package body Stack is
function awd () return integer is
begin
return 1;
end awd;
end Stack;
错误是
stack.ads:2:19: identifier expected
我非常确定我做的一切都是正确的。
答案 0 :(得分:4)
Ada不使用空括号来定义或调用函数或过程。
为了将来参考,短语“我最确定我做的一切都是正确的。”是一个红色标记,表示你几乎肯定已经某事错了。
答案 1 :(得分:3)
只是详细说明,Ada做出了一些语法决定,即恕我直言的优于你可能习惯的C语法语言。
以另一种方式来看,常量只是无参数函数的简化版本,因为当你总是返回相同的值时就可以逃脱。同样,常量数组是参数化函数调用的简化版本,因为您可以随时返回相同的值。如果您以后发现需要更复杂的实现,那不是客户关注的问题,也不应该影响他们的代码。