ada中的object.method表示法

Mat*_*att 0 oop ada gnat-gps

有没有人知道一个很好的资源来解释何时object.method可以在ada中使用符号?

例如:

person.walk(10);
Run Code Online (Sandbox Code Playgroud)

我一直在做一些谷歌搜索,还没有想出来.它只适用于标记记录吗?

我使用GPS作为我的Ada IDE,我非常希望能够bla.<type something>获得建议的方法来调用.

我也有点困惑为什么点符号不能用于第一个参数匹配相关类型的任何东西.

谢谢

马特

man*_*iot 5

是的,它仅适用于标记记录(vtable用于查找相应的方法).它可用于所有基本操作,也可用于同一包中定义的"类操作".该表示法的一个好处是,您不需要在定义类型的包上使用"with".我们倾向于更频繁地使用标记类型,这样我们就可以使用点符号.